Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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