对于我的文件中的每一行,如果该行以 / 结尾,我想将其删除。这个怎么做?我的尝试:
sed -e "s/$\/$//" myfile.txt > myfile_noslash.txt
不工作。
答案1
您的命令将尝试删除文件中行末尾的$
a 和 a 。/
您不需要$
正则表达式中的首字母:
sed 's/\/$//' myfile.txt >myfile_noslash.txt
s
in 中的替换命令sed
几乎可以采用任何字符作为其分隔符,例如
s@/$@@
或者
s,/$,,
或者
s|/$||
所以你的命令可能是
sed 's,/$,,' myfile.txt >myfile_noslash.txt
答案2
您的命令只是有一个错误的美元符号。固定的:
sed -e 's/\/$//' myfile.txt > myfile_noslash.txt
答案3
您可以在正则表达式中使用任何字符作为分隔符
sed -e 's%/$%%' myfile.txt > myfile_noslash.txt
答案4
尝试使用下面的 python 并且工作正常
#!/usr/bin/python
import re
k=open('l.txt','r')
for i in k:
print re.sub("/$","",i).strip()