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?
Il vous suffit d'échapper à la citation de votre premier exemple:
$ sed 's/\"//g' file.txt
Êtes-vous sûr de devoir utiliser sed? Que diriez-vous:
tr -d "\""
Pour remplacer en place, vous pouvez également faire:
sed -i '' 's/\"//g' file.txt
ou sous Linux
sed -i 's/\"//g' file.txt
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
Essayez de faire précéder la citation double par une barre oblique inverse dans votre expression:
sed 's/\"//g' [file name]
Essaye ça:
sed -i -e 's/\"//g' file.txt