0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ディレクトリ内の全てのファイルの末尾に拡張子(.pdf)を追加するワンライナー

Last updated at Posted at 2024-07-08
find <directory_name> -type f -name '*' | xargs -I{} mv {} {}.pdf

各コマンドの意味と役割

  1. find <directory_name> -type f -name '*'

    • find: ファイルやディレクトリを検索するためのコマンド。
    • <directory_name>: 検索対象のディレクトリ名。
    • -type f: 通常のファイルのみを検索対象にするオプション。これにより、ディレクトリ自体は検索結果(名称変更の対象)から除外される。
    • -name '*': 名前で検索するオプション。'*'はワイルドカードで、任意の文字列にマッチする。

    →検索したすべてのファイルをxargsへ標準出力する。

  2. xargs -I{} mv {} {}.pdf

    • xargs: 標準入力からデータを読み取り、それを引数として別のコマンドを実行するコマンド。
    • -I{}: プレースホルダーを指定するオプション。{}が各ファイル名に置き換えられる。

    {}が、<directory_name>内の任意のファイル名を表す変数として使えるようになる。

  3. mv {} {}.pdf

    • mv: ファイルを移動または名前を変更するコマンド。
    • {}: 変更対象のファイル名。
    • {}.pdf: 変更後の名前。このような簡単な書式で文字列を追加できる。

    findコマンドで見つかった各ファイルに対して、元のファイル名に.pdfを追加する。

なぜこのワンライナーを使うのか

  • finderで同じことを行おうとすると、一ファイルごとに確認が発生して面倒なため。
    2.gif
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?