一、for循環介紹
對於Linux運維工程師來說,Shell編程是重要的技能之一,而for循環是Shell編程中最基本的命令之一,其語法如下:
for VARIABLE_NAME in ITEM_1 ITEM_2 ITEM_3 ... ITEM_N
do
command1
command2
...
commandN
done
其中,VARIABLE_NAME表示循環迭代的變量,ITEM_1到ITEM_N為需要迭代的內容,command1到commandN為要執行的命令。
二、for循環遍歷文件夾
現在,我們來看看如何使用for循環遍歷文件夾。假設我們需要遍歷名為Documents的文件夾,以下是對應的代碼示例:
#!/bin/bash
for file in ~/Documents/*
do
echo $file
done
在上述代碼中,~代表當前用戶的home目錄,~/Documents/*代表要迭代的Documents文件夾下所有文件和文件夾的路徑。echo命令將每個文件和文件夾的路徑輸出到終端。
如果我們需要過濾掉特定文件類型,則可以使用if語句進行判斷。例如,只輸出Documents文件夾下的PNG圖片,則可以使用以下代碼:
#!/bin/bash
for file in ~/Documents/*
do
if [ ${file: -4} == ".png" ]
then
echo $file
fi
done
在上述代碼中,if語句判斷$file的最後四位是否為”.png”,如果是,則輸出文件路徑。
三、for循環遍歷多個文件夾
有些時候,我們需要遍歷多個文件夾,這時可以使用嵌套的for循環。以下是遍歷Documents和Downloads兩個文件夾的示例代碼:
#!/bin/bash
for dir in ~/Documents ~/Downloads
do
for file in $dir/*
do
echo $file
done
done
在上述代碼中,第一個for循環遍歷Documents和Downloads文件夾,第二個for循環遍歷每個文件夾中的所有文件和文件夾,並輸出它們的路徑。
四、總結
本文介紹了如何使用for循環遍歷文件夾,在遍歷單個文件夾、過濾文件類型和遍歷多個文件夾等方面進行了詳細的闡述。通過這些示例代碼,你可以更加靈活地掌握Shell編程中的for循環命令,提高你的工作效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/286624.html