我正在尝试使用 sed 从该文件中删除等号并将其通过管道传输到一个新文件:
I am a file to be edited.
A unique file with my own words.
T=h=e=r=e a=r=e i=s=s=u=e=s w=i=t=h t=h=i=s l=i=n=e
我试过了cat FixMeWithSed.txt | sed 's/=//' > FileFixedWithSed.txt
但它只替换了第一个等号。
I am a file to be edited.
A unique file with my own words.
Th=e=r=e a=r=e i=s=s=u=e=s w=i=t=h t=h=i=s l=i=n=e
我不知道如何选择所有等号,而不是只选择第一个等号。谢谢!
答案1
你必须使用g
标志来做G全局替换。否则,它只会发生一次。
cat FixMeWithSed.txt | sed 's/=//g' > FileFixedWithSed.txt
顺便说一句,sed
可以从文件中读取,所以你不需要cat
这里:
sed 's/=//g' FixMeWithSed.txt > FileFixedWithSed.txt
答案2
您可以使用
sed -i "s/=//g" file.in
替换同一文件上的 =,而无需创建新文件。否则,你甚至可以使用
tr -d '=' < file.in > file.out