Используя sed для удаления знака равенства из файла

Я пытаюсь использовать 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

Я не уверен, как выбрать все знаки равенства вместо только первого. Спасибо!

2 ответа

Решение

Вы должны использовать g флаг, чтобы сделать глобальную замену. В противном случае, это происходит только один раз.

cat FixMeWithSed.txt | sed 's/=//g' > FileFixedWithSed.txt

Кстати, sed можно читать из файла, поэтому вам не нужно cat Вот:

sed 's/=//g' FixMeWithSed.txt > FileFixedWithSed.txt

Ты можешь использовать

sed -i "s/=//g" file.in

заменить = на тот же файл, не создавая новый. В противном случае вы даже можете использовать

tr -d '=' < file.in > file.out
Другие вопросы по тегам