Shell Geekは一度に複数のファイルの名前を変更する
間違ったファイル名を持つ何百ものファイルを含むディレクトリがあり、すべてのファイル名を含むファイルを置き換えたいとしましょう。 テスト と プロッド. (これは人為的な例です)。これは、bashの「for」コマンドと、少しのbashの良さを組み合わせることで簡単に実行できます。今日はforループで変数内のテキストを置き換える方法を学びます.
“ for”コマンドは次のように機能します。
var inに対して; do $ var; done
あなたは交換することができます *や* .txtなど、任意のファイル一致パターンを使用して置き換えることができます。 任意のLinuxコマンドで。コマンドは、ファイル一致パターンで一致した各ファイルに対して順番に実行されます。.
これがbashの変数処理によってさらに面白いところです。単に「mv $ var」のようなことをする代わりに、次の構文を使ってファイル名のテキストを置き換えることができます。
$ var / originaltext / replacetext
それでは、このコマンドを自分のディレクトリで実行すると、
f in *;に対してmv $ f $ f / test / prod;を行います。
*と一致した各ファイルに対して、bashは次のようなコマンドを実行します。
mv test.config prod.config
シェルの知識は、サーバーを管理するとき、または単にファイルコレクションを管理するときに非常に貴重であることがわかりました。.
そしてはい、私は複数のファイルの名前変更を達成することができる多くのツールがあることを認識しています.