Shell 遍歷是指在 Shell 腳本中利用循環語句和命令來遍歷目錄、文件、列表等內容,從而實現對內容的處理和操作。Shell 遍歷是 Shell 編程的基礎之一,掌握 Shell 遍歷對於編寫高效的 Shell 腳本非常重要。
一、Shell遍曆日期
在 Shell 腳本中,獲取日期是常見的需求之一。使用 date 命令可以獲取當前系統日期,也可以通過給 date 命令傳參來獲取特定日期。以下是一個使用 for 循環遍曆日期的例子:
#!/bin/bash for ((i=1; i<=31; i++)) do date=$(date -d "2022-10-$i" +%Y%m%d) echo $date done
上述代碼使用 for 循環遍歷 10 月份的所有日期,並輸出日期的格式化結果。
二、Shell遍歷從後向前for循環
在 Shell 腳本中,從後向前遍曆數組或者列表是常見需求之一。使用倒序的 for 循環可以實現該目標。以下是一個使用倒序 for 循環遍曆數組的例子:
#!/bin/bash my_array=(apple banana cherry durian) for ((i=${#my_array[@]}-1; i>=0; i--)) do echo "${my_array[$i]}" done
上述代碼使用倒序的 for 循環遍曆數組,並輸出數組的每個元素。
三、Shell遍曆命令
在 Shell 腳本中,經常需要遍曆命令的輸出結果,並做出相應的處理。使用 for 循環可以實現該目標。以下是一個使用 for 循環遍曆命令輸出的例子:
#!/bin/bash for i in $(ls /var/log) do echo $i done
上述代碼使用 ls 命令輸出 /var/log 目錄下的文件名,並使用 for 循環遍歷每個文件名,並輸出到控制台。
四、Shell遍歷文件夾
在 Shell 腳本中,遍歷文件夾是常見需求之一。使用 for 循環可以實現該目標。以下是一個使用 for 循環遍歷文件夾的例子:
#!/bin/bash for dir in $(find /home/ -type d) do echo $dir done
上述代碼使用 find 命令遍歷 /home 目錄下的所有子目錄,並使用 for 循環遍歷每個目錄名,並輸出到控制台。
五、Shell遍歷列表
在 Shell 腳本中,使用列表是常見需求之一。使用 for 循環可以實現遍歷列表的目標。以下是一個使用 for 循環遍歷列表的例子:
#!/bin/bash my_list="apple banana cherry durian" for fruit in $my_list do echo $fruit done
上述代碼使用 for 循環遍歷 my_list 列表,並輸出列表的每個元素。
六、Shell遍歷文件夾所有文件
在 Shell 腳本中,遍歷文件夾所有文件是常見需求之一。使用 find 命令配合 for 循環可以實現該目標。以下是一個使用 for 循環遍歷文件夾所有文件的例子:
#!/bin/bash for file in $(find . -type f) do echo $file done
上述代碼使用 find 命令查找當前目錄下的所有文件,並使用 for 循環遍歷每個文件名,並輸出到控制台。
七、Shell遍歷csv
在 Shell 腳本中,遍歷 csv 文件是常見需求之一。通常使用 while 循環結合 read 命令來實現遍歷 csv 文件的目標。以下是一個使用 while 循環遍歷 csv 文件的例子:
#!/bin/bash while IFS=, read name age sex do echo "Name: $name" echo "Age: $age" echo "Sex: $sex" done < data.csv
上述代碼使用 while 循環遍歷 data.csv 文件的每一行,並通過 read 命令將每一行的數據按列分割,並輸出到控制台中。
八、Shell遍歷find結果
在 Shell 腳本中,使用 find 命令來查找文件和目錄是常見需求之一。使用 for 循環可以遍歷 find 命令的輸出結果。以下是一個使用 for 循環遍歷 find 命令輸出結果的例子:
#!/bin/bash for file in $(find /home/user -name "*.txt") do echo $file done
上述代碼使用 find 命令查找 /home/user 目錄下擴展名為 .txt 的文本文件,並使用 for 循環遍歷每個文件名,並輸出到控制台。
九、Shell遍曆數組
在 Shell 腳本中,遍曆數組是常見需求之一。使用 for 循環可以實現該目標。以下是一個使用 for 循環遍曆數組的例子:
#!/bin/bash my_array=(apple banana cherry durian) for fruit in "${my_array[@]}" do echo $fruit done
上述代碼使用 for 循環遍歷 my_array 數組,並輸出數組的每個元素。
十、Shell遍歷一個數組選取
在 Shell 腳本中,從一個數組中選取一部分元素進行遍歷和處理是常見需求之一。使用 for 循環結合 if 條件判斷可以實現該目標。以下是一個使用 for 循環和 if 條件判斷遍曆數組的例子:
#!/bin/bash my_array=(apple banana cherry durian) selected_elements=("apple" "cherry") for fruit in "${my_array[@]}" do for selected_fruit in "${selected_elements[@]}" do if [[ $fruit == $selected_fruit ]] then echo "Selected fruit: $fruit" fi done done
上述代碼使用 for 循環遍歷 my_array 數組的所有元素,並使用 if 條件判斷選取在 selected_elements 數組中的元素,最後輸出選取的元素。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/249130.html