Shell-Script

僅讀取文件辨識字元串和特定命令

  • April 28, 2022

我正在使用以下腳本將數據收集到一個文件中

while IFS= read -r line
do
echo "$line"
echo -e "$line-new" >>newfile.txt

done <"file.txt

"

新文件有以下數據

gl-system-events_1
gl-events_2
gl-system-events_0
gl-events_6
gl-events_1
gl-events_5
gl-system-events_6
gl-system-events_4
gl-events_3
gl-system-events_2
gl-system-events_5
gl-events_0

現在我想編寫腳本,依次讀取每一行並為該字元串執行特定命令

例如,如果它辨識工作 gl-system-events_2 它應該執行命令 A,如果它辨識 gl-events_0 它應該執行命令 B,如果它辨識其他東西它應該執行命令 C

你能幫我如何使用 if 或任何其他方法來存檔它。

問候,山姆

你可以使用case開關。就像是:

while IFS= read -r line
do
  case $line in
    gl-system-events_2)
       commandA
       ;;
    gl-events_0)
       commandB
       ;;
    *)
       commandC
       ;;
   esac
done
  

引用自:https://unix.stackexchange.com/questions/700729