web-dev-qa-db-fra.com

Comment utiliser sed pour supprimer toutes les guillemets doubles d'un fichier

J'ai un fichier appelé fichier.txt. Il comporte un certain nombre de guillemets doubles. Je veux supprimer tous.

J'ai essayé sed 's/"//g' file.txt

J'ai essayé sed -s "s/^\(\(\"\(.*\)\"\)\|\('\(.*\)'\)\)\$/\\3\\5/g" file.txt

Ni ont travaillé.

Comment puis-je simplement supprimer tous les guillemets doubles du fichier?

39
MRTim2day

Il vous suffit d'échapper à la citation de votre premier exemple:

$ sed 's/\"//g' file.txt
89
Vicky

Êtes-vous sûr de devoir utiliser sed? Que diriez-vous:

tr -d "\""
26
Penfold

Pour remplacer en place, vous pouvez également faire:

sed -i '' 's/\"//g' file.txt

ou sous Linux

sed -i 's/\"//g' file.txt
6
octavian

Commentaire additionnel. Oui ça marche:

    sed 's/\"//g' infile.txt  > outfile.txt

(cependant avec batch gnu sed, imprimera simplement à l'écran)

Dans le traitement par lots (GNU SED), cela était nécessaire:

    sed 's/\x22//g' infile.txt  > outfile.txt
4
Mike Q

Essayez de faire précéder la citation double par une barre oblique inverse dans votre expression:

sed 's/\"//g' [file name]
2
justadreamer

Essaye ça:

sed -i -e 's/\"//g' file.txt
0
Amita