Shell-Script

這個 sed 命令在這個腳本中做了什麼?

  • August 15, 2022

我是 shell 腳本的新手,我不明白這個sed命令的作用。你能幫忙解釋一下嗎?

cat $fRostroTmp | sed "s/ *|/;/g" >> $fRostroCsv
rm -f $fRostroTmp

在評論中,您專門詢問了sed表達式s/ *|/;/g

這是一個替換命令 ( s),它用單個字元替換正則表達式 *|匹配的任何內容;

該表達式 *|匹配零個或多個空格,後跟一個|字元。因此,無論輸入中出現這種情況,它將被替換為;.

g表達式末尾的 導致將sed替換應用於每行上的所有非重疊匹配,而不僅僅是第一個匹配。這意味著一行說

1 2 3 | 3 4 5 | 5 6 6

或者

1 2 3| 3 4 5     | 5 6 6

會變成

1 2 3; 3 4 5; 5 6 6

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