在 Bash 中迴圈目錄中的檔案
Nilesh Katuwal
2023年1月30日
Bash
Bash Loop
Bash 中的迴圈使得對許多檔案進行操作變得可行。你必須擁有一些許可權才能使用檔案和資料夾。
最有效的方法是迴圈,它允許使用者通過使用簡單的程式碼行再次將相同的邏輯應用於物件。
迴圈檔案
首先,我們將建立一個 test 目錄並在該目錄中建立多個檔案。讓我們在 test 目錄中建立五個檔案,分別為 file1.txt、file2.txt、file3.txt、file4.txt 和 file5.txt。

我們使用 mkdir 建立了一個 test 資料夾,並使用 touch 命令在其中建立了五個檔案。

迴圈目錄
讓我們遍歷新建立的 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! 會在第二行預覽。要檢查我們新增到檔案中的資料,我們需要使用 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 副檔名的備份檔案。
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe