Bash のディレクトリ内のファイルをループする
Bash のループにより、多くのファイルに対して操作を実行できるようになりました。ファイルやフォルダを操作するには、いくつかの権限が必要です。
最も効果的な方法はループです。これにより、ユーザーは単純なコード行を使用して同じロジックをオブジェクトに再度適用できます。
ファイルをループする
まず、test ディレクトリを作成し、ディレクトリ内に複数のファイルを作成します。test ディレクトリに file1.txt、file2.txt、file3.txt、file4.txt、file5.txt の 5つのファイルを作成しましょう。

mkdir を使用して test フォルダーを作成し、touch コマンドを使用してその中に 5つのファイルを作成しました。

ループオーバーディレクトリ
新しく作成された test ディレクトリをループして、ディレクトリ内のファイル名を表示してみましょう。これを行うには、for ループを使用します。
~/test$ for file in *; do echo $file; done test ディレクトリに移動し、$ の後に上記のコマンドを入力します。*は、ディレクトリ内のすべてのファイルを示します。
出力:
file1.txt file2.txt file3.txt file4.txt file5.txt ループを使用してディレクトリ内にすべてのファイルを書き込む
Hello World!を作成するには各ファイルで、for ループを使用してファイルを反復処理し、echo の -e フラグを使用して改行を保持します。
~/test$ for file in *; do echo -e "$file\nHello World!"> $file ; done $file はファイルの先頭にファイル名を表示し、\n は行を区切り、Hello World!は 2 行目にプレビューされます。ファイルに追加したデータを確認するには、cat と for ループを使用してデータを表示する必要があります。
~/test$ for file in *; do cat $file ; done 出力:
file1.txt Hello World! file2.txt Hello World! file3.txt Hello World! file4.txt Hello World! file5.txt Hello World! ディレクトリ内のすべてのファイルのバックアップを作成する
.bak 拡張子はバックアップファイルを示します。バックアップを作成するには、cp と for ループを使用します。
~/test$ for file in *; do cp $file "$file.bak" ; done ls -l を使用して、test ディレクトリ内のすべてのファイルを一覧表示できます。
~/test$ ls -l test ディレクトリをチェックしてみましょう。

フォルダ内に .bak 拡張子が付いたバックアップファイルが作成されていることがわかります。