#1 Le 02/11/2014, à 12:17
- Gaara
[resolu] modifier une chaine par une autre dans plusieurs fichiers
Bonjour à tous,
J'essaie de modifier 150 fichiers dans un répertoire en remplaçant une chaine par une autre.
J'ai trouvé cette ligne:
find . -name "*.txt" -print | xargs sed -i 's/56969/8880/g'
pour remplacer "56969" par "8880".
Seulement j'ai des erreurs, car certains fichiers ont des espaces dans le nom.
xargs: guillemets simple non appairés ; par défaut les guillemets sont particuliers à xargs à moins d'utiliser l'option -0
sed: impossible de lire ./Chromosome: Aucun fichier ou dossier de ce type
Comment résoudre ça ?
Merci
Dernière modification par Gaara (Le 02/11/2014, à 12:44)
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#2 Le 02/11/2014, à 12:35
- pingouinux
Re : [resolu] modifier une chaine par une autre dans plusieurs fichiers
Bonjour,
Ceci devrait marcher
find . -name "*.txt" -print0 | xargs -0 sed -i 's/56969/8880/g'
ou plus simple
sed -i 's/56969/8880/g' *.txt
Hors ligne
#3 Le 02/11/2014, à 12:44
- Gaara
Re : [resolu] modifier une chaine par une autre dans plusieurs fichiers
Merci pingouinux ça fonctionne parfaitement !
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne