Modifier un mot de fichiers d'un repertoire
Résolu/Fermé
isagarran
Messages postés
3
Date d'inscription
samedi 30 juin 2007
Statut
Membre
Dernière intervention
1 juillet 2007
-
30 juin 2007 à 20:50
isagarran Messages postés 3 Date d'inscription samedi 30 juin 2007 Statut Membre Dernière intervention 1 juillet 2007 - 1 juil. 2007 à 09:41
isagarran Messages postés 3 Date d'inscription samedi 30 juin 2007 Statut Membre Dernière intervention 1 juillet 2007 - 1 juil. 2007 à 09:41
A voir également:
- Modifier un mot de fichiers d'un repertoire
- Comment modifier un pdf - Guide
- Piratage facebook changer mot de passe - Guide
- Mettre un mot de passe sur un dossier - Guide
- Modifier liste déroulante excel - Guide
- Comment réduire la taille d'un fichier - Guide
3 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
30 juin 2007 à 20:58
30 juin 2007 à 20:58
Salut,
lami20j@deb:~$ ls -l /home/lami20j/aaa/ total 12 -rw-r--r-- 1 lami20j lami20j 5 2007-06-30 20:56 a.txt -rw-r--r-- 1 lami20j lami20j 5 2007-06-30 20:56 b.txt -rw-r--r-- 1 lami20j lami20j 5 2007-06-30 20:56 c.txt lami20j@deb:~$ cat /home/lami20j/aaa/*.txt titi titi titi lami20j@deb:~$ sed -i 's/titi/toto/' /home/lami20j/aaa/*.txt lami20j@deb:~$ cat /home/lami20j/aaa/*.txt toto toto toto lami20j@deb:~$
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
1 juil. 2007 à 08:51
1 juil. 2007 à 08:51
Salut,
tous les fichiers contenant une chaine de caractère donnée par une autre chaine de caractères.
En clair, remplacer tous les TITI, qui se trouve dans des fichiers d'un répertoire, par TUTU.
Bon, pour ce que tu as demandé ej t'ai donné un exemple :-))
Pour ce que tu veux en réalité, jipicy a adapté la réponse :-)
Pour conclure :-DD
l'option g que je l'appellerais plutôt modificateur de regex permet de remplacer plusieurs occurences
si on utilise la regex sans ce modificateur ce n'est que la 1ère occurence de chaque ligne qui sera remplacer
en combinaison avec find on applique la commande à toute les fichiers .txt d'une arborescence
Voici pour étudier et comprendre (à utiliser find pour l'arborescence)
lami20j
tous les fichiers contenant une chaine de caractère donnée par une autre chaine de caractères.
En clair, remplacer tous les TITI, qui se trouve dans des fichiers d'un répertoire, par TUTU.
Bon, pour ce que tu as demandé ej t'ai donné un exemple :-))
Pour ce que tu veux en réalité, jipicy a adapté la réponse :-)
Pour conclure :-DD
l'option g que je l'appellerais plutôt modificateur de regex permet de remplacer plusieurs occurences
si on utilise la regex sans ce modificateur ce n'est que la 1ère occurence de chaque ligne qui sera remplacer
en combinaison avec find on applique la commande à toute les fichiers .txt d'une arborescence
Voici pour étudier et comprendre (à utiliser find pour l'arborescence)
lami20j@deb:~/aaa$ cat /home/lami20j/aaa/*.txt titi titi titi titi titi titi titi titi titi titi titi titi titi titi titi titi titi titi lami20j@deb:~/aaa$ sed -i 's/titi/toto/' /home/lami20j/aaa/*.txt lami20j@deb:~/aaa$ cat /home/lami20j/aaa/*.txt toto titi toto toto titi titi toto titi toto toto titi titi toto titi toto toto titi titi lami20j@deb:~/aaa$ cat /home/lami20j/aaa/*.txt titi titi titi titi titi titi titi titi titi titi titi titi titi titi titi titi titi titi lami20j@deb:~/aaa$ sed -i 's/titi/toto/g' /home/lami20j/aaa/*.txt lami20j@deb:~/aaa$ cat /home/lami20j/aaa/*.txt toto toto toto toto toto toto toto toto toto toto toto toto toto toto toto toto toto toto lami20j@deb:~/aaa$--
lami20j
isagarran
Messages postés
3
Date d'inscription
samedi 30 juin 2007
Statut
Membre
Dernière intervention
1 juillet 2007
1 juil. 2007 à 09:41
1 juil. 2007 à 09:41
Merci à vous deux pour les réponses. C'et impeccable.
(find . -name "*.txt" -exec sed -i 's/titi/toto/g' {} \;) permet bien de modifier tous les fichiers d'une arborescence.
(find . -name "*.txt" -exec sed -i 's/titi/toto/g' {} \;) permet bien de modifier tous les fichiers d'une arborescence.
1 juil. 2007 à 07:09
Le sed me permet de modifier une ou plusieurs occurences de titi dans UN fichier tel que tu me l'as démontré (en fait plusieurs m'intéresse. c'est l'option g, je crois).
Ce qu je voudrais, c'est effectuer cette opération de manière récursive à partir d'une arborescence et le faire dans tous les sous-répertoires, pour tout les fichiers.
merci,
1 juil. 2007 à 08:27