
Envoyé par
altair8080
J'ai tenté sur une copie de mon répertoire
avec et sans sudo
Bonjour
Connaitre le rôle des commandes évite de les utiliser pour rien. sudo exécute une commande sous le compte d'un autre. Si la commande est foireuse à l'origine, cela ne change rien.

Envoyé par
altair8080
mais que cela soit avec -i ou -e le résultat n'est pas concluant
avec sed -e j'obtiens des caractères bizarre
avec sed -i : impossible d'éditer ...... ce n'est pas un fichier régulier
find . -exec sed -i 's/chaine_recherchee/nouvelle_chaine/g' {} \;
Donc où je me suis trompé.
Ben je sais pas. Peut-être que t'as pas réfléchi (hé oui, là on ne peut rien pour toi) que ton find te retournait aussi des répertoires (et aussi les pipes et fichiers spéciaux et les sockets)...

Envoyé par
altair8080
et comment avoir dans un premier temps la liste des fichiers (avec si possible la ligne et son numéro où se trouve le matching, cele me permettra de contrôler par la suite)
grep -ny

Envoyé par
altair8080
Ex de remplacement
MONMOT -> NOUVEAUMOT
MONmot -> NOUVEAUmot
Monmot -> Nouveaumot
...
sed -e "s/MONMOT/NOUVEAUMOT/g" -e "s/MONmot/NOUVEAUmot/g" -e "s/Monmot/Nouveaumot/g"

Envoyé par
altair8080
...car nano et autres ne traitent qu'un seul fichier à la fois.
Rien n'interdit de faire du nano (ou autre) automatisé en script
1 2 3 4 5 6 7 8
| find ... | while read f
do
nano "$f" << _EOT_ 1>/dev/null 2>&1
commandes nano
commandes nano
commandes nano
_EOT_
done |
Partager