我想在文件中每行的末尾添加这个字符:
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