Un geekdeplus’s Blog

Changer une ligne d’un fichier se trouvant dans plusieurs répertoires

Posted on: 1 juillet 2009

Cet article explique comment, sous linux, changer une ligne d’un fichier se trouvant dans plusieurs répertoires.

Ceci est plus une note qu’une véritable explication.

Soit la structure:

/home/user1/fichier.txt

/home/user2/fichier.txt

..

Se placer dans /home et lancer la commande suivante:

find . -maxdepth 2 -name fichier.txt -print | while read i
do
sed 's|TEXTE_A_CHERCHER|TEXTE_DE_REMPLACEMENT|g' $i > $i.tmp && mv $i.tmp $i
done

Petite astuce: Si le nom de votre fichier contient des espaces, cela ne fonctionne pas.

Solution: Remplacer les espaces par des underscores. Pour cela:

find . -maxdepth 2 -name 'Fichier\ avec\ des\ espaces.txt' -exec rename 's/\s+/_/g' {} \;

Ce qui nous donnera Fichier_avec_des_espaces.txt.

-maxdepth 2 permet de ne pas aller dans les sous répertoires des utilisateurs (la commande n’ira pas dans /home/user1/dir1).

inspiration très fortes de ces 2 articles:

http://forums.devshed.com/showpost.php?p=633270&postcount=4

http://www.commandlinefu.com/commands/view/760/find-recursively-from-current-directory-down-files-and-directories-whose-names-contain-single-or-multiple-whitespaces-and-replace-each-such-occurrence-with-a-single-underscore.

Advertisements

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s


  • ungeekdeplus: Debian, mais il existe des paquets pour les autres distrib. Voir sur le site. Attention il y a une nouvelle version 2.x
  • sana: tu l'as testé sur quel système d'exploitation stp??
  • ungeekdeplus: @titon: Coquille modifiée. Merci. Pour les tuto d'install je vous invite à utiliser ceux du site officiel, vous pouvez utiliser les vms déjà pré-

Catégories

%d blogueurs aiment cette page :