在每行末尾添加 /

在每行末尾添加 /

我想在文件中每行的末尾添加这个字符:

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

结果$/在每行中添加显式 $。但我不想添加$。

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

https://myline

我执行命令,结果变成:

https://myline/$

但我想要:

https://myline/

怎么了?请注意,该文件最初是dos类型,我将其转换为unix使用:

dos2unix myfile.txt

答案1

你只需要's/$/\//'——$ 锚点模式到行尾,但它不是可以替换的实际字符。同样对于^.您实际匹配(和替换)的是锚定在行末尾的空模式。

另外,正如 @Phillippos 在评论中指出的,g这里没有必要:由于表达式是锚定的,它只能在一个地方匹配。

答案2

您也可以尝试使用 awk 命令

命令

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

相关内容