如何删除尾部的正斜杠

use*_*654 3 sed string search text-processing files

对于我文件中的每一行,如果该行以 / 我想删除它。这该怎么做?我的尝试:

sed -e "s/$\/$//" myfile.txt > myfile_noslash.txt
Run Code Online (Sandbox Code Playgroud)

不工作。

Kus*_*nda 9

您的命令将尝试删除文件中各行末尾的a$后跟 a /

您不需要$正则表达式中的首字母:

sed 's/\/$//' myfile.txt >myfile_noslash.txt
Run Code Online (Sandbox Code Playgroud)

sin的替换命令sed几乎可以将任何字符作为其定界符,例如

s@/$@@
Run Code Online (Sandbox Code Playgroud)

或者

s,/$,,
Run Code Online (Sandbox Code Playgroud)

或者

s|/$||
Run Code Online (Sandbox Code Playgroud)

所以你的命令可能是

sed 's,/$,,' myfile.txt >myfile_noslash.txt
Run Code Online (Sandbox Code Playgroud)

  • @D.Ben 我个人喜欢管道,因为它很容易查看和查看表达式中的不同部分 (2认同)

Fre*_*ddy 6

您的命令只是有一个错误的美元符号。固定的:

sed -e 's/\/$//' myfile.txt > myfile_noslash.txt
Run Code Online (Sandbox Code Playgroud)

  • 使用另一个分隔符,则不需要反斜杠:`sed 's%/$%%'` (3认同)
  • 相信很多人都不知道分隔符是可以自由选择的,所以我就提到了。 (2认同)