我有一個 bash 文件,我想在其中進行一些更改。
sed -i 's/ / /g' testfile
sed -i -e 's/#[a-z]$//' -e '/^$/d' testfile
sed -i 's/ *$//' testfile
sed '/##=/ r header' testfile
在第一個指令中,想用空格取代 TAB ,然後刪除註解(還有以 ## 開頭的註解)和空白行。之後想在我的文件中的指定模式之後插入一個文件。命令順序有問題嗎?
答案1
您可以在一次 sed 中給予多個指令,例如:
sed 's/\t/ /g;/^ *$/d;s/^#/NODIESE/' testfile
這一行
- 將製表符替換為空格
- 刪除以空內容開頭的行(或空白行)
- 將開頭處的 Dash 替換為 NODIESE
因此您的測試檔案僅被處理一次,並且您僅啟動 sed 一次。