qbq*_*qbq 0 filesystems sed files
我想在文件中每一行的末尾添加这个字符:
sed -e 's/$/\/$/g' myfile.txt > myfile_new.txt
Run Code Online (Sandbox Code Playgroud)
结果$/
在每一行中添加显式 $。但我不想添加 $.
例如,这是原始文件中的一行:
https://myline
Run Code Online (Sandbox Code Playgroud)
我执行了命令,结果变成:
https://myline/$
Run Code Online (Sandbox Code Playgroud)
但我想要:
https://myline/
Run Code Online (Sandbox Code Playgroud)
怎么了?请注意,该文件最初是dos
类型的,我将其转换为unix
使用:
dos2unix myfile.txt
Run Code Online (Sandbox Code Playgroud)
您只需要's/$/\//'
- 将模式$
锚定到行尾,但它不是可以替换的实际字符。对于^
. 您实际匹配(和替换)的是锚定在行尾的空模式。
同样正如@Phillippos 在评论中所指出的,g
这里是不必要的:由于表达式是锚定的,它只能在一个地方匹配。