Sed

在每行末尾添加 /

  • July 1, 2019

我想在文件中每一行的末尾添加這個字元:

sed -e 's/$/\/$/g' myfile.txt > myfile_new.txt

結果加上$/顯式 $ in each line. but I do not want to add $ .

例如,這是原始文件中的一行:

https://myline

我執行了命令,結果變成:

https://myline/$

但我想要:

https://myline/

怎麼了?請注意,該文件最初是dos類型,我將其轉換為unix使用:

dos2unix myfile.txt

您只需要's/$/\//'- 將模式$ 錨定到行尾,但它不是可以替換的實際字元。同樣對於^。您實際匹配(和替換)的是錨定在行尾的空模式。

同樣正如@Phillippos 在評論中所指出的,g這裡沒有必要:由於表達式是錨定的,它只能在一個地方匹配。

您也可以嘗試使用 awk 命令

命令

awk '{print $0"/"}' filename

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