在 Bash 中迴圈目錄中的檔案

Nilesh Katuwal 2023年1月30日 2022年5月11日
  1. 迴圈檔案
  2. 迴圈目錄
  3. 使用迴圈寫入目錄中的所有檔案
  4. 備份目錄內的所有檔案
在 Bash 中迴圈目錄中的檔案

Bash 中的迴圈使得對許多檔案進行操作變得可行。你必須擁有一些許可權才能使用檔案和資料夾。

最有效的方法是迴圈,它允許使用者通過使用簡單的程式碼行再次將相同的邏輯應用於物件。

迴圈檔案

首先,我們將建立一個 test 目錄並在該目錄中建立多個檔案。讓我們在 test 目錄中建立五個檔案,分別為 file1.txtfile2.txtfile3.txtfile4.txtfile5.txt

迴圈遍歷 bash 目錄中的檔案

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

bash 迴圈示例

迴圈目錄

讓我們遍歷新建立的 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! 會在第二行預覽。要檢查我們新增到檔案中的資料,我們需要使用 catfor 迴圈來顯示它。

~/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 副檔名錶示備份檔案。我們將使用 cpfor 迴圈來建立備份。

~/test$ for file in *; do cp $file "$file.bak" ; done

你可以使用 ls -l 列出 test 目錄中的所有檔案。

~/test$ ls -l

讓我們看看 test 目錄。

bash 備份

你可以看到在資料夾內建立了帶有字尾 .bak 副檔名的備份檔案。

相關文章 - Bash Loop