usando sed para remover o sinal de igual de um arquivo

3

Estou tentando usar o sed para remover os sinais de igual desse arquivo e canalizá-lo para um novo arquivo:

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

Eu tentei cat FixMeWithSed.txt | sed 's/=//' > FileFixedWithSed.txt , mas ele apenas substituiu o primeiro sinal de igual.

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

Não sei como selecionar todos os sinais de igual em vez de apenas o primeiro. Obrigado!

    
por Michael James 25.02.2015 / 22:10

2 respostas

5

Você precisa usar o sinalizador g para fazer uma substituição global g . Caso contrário, acontece apenas uma vez.

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

A propósito, sed pode ler de um arquivo, então você não precisa de cat aqui:

sed 's/=//g' FixMeWithSed.txt > FileFixedWithSed.txt
    
por Florian Diesch 25.02.2015 / 22:16
1

Você pode usar

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

para substituir = no mesmo arquivo, sem criar um novo. Caso contrário, você pode até usar

tr -d '=' < file.in > file.out
    
por Alessandro Russo 25.02.2015 / 22:20

Tags