Remplacement avec commande sed ?
mortelrdv
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai un fichier contenant par exemple ZZZZZZ et je voudrais le remplacer par 25x la lettre A (donc AAAAAAA..).
il est possible de faire ça avec sed :
sed -i -e 's/ZZZZZZ/AAA....AAA/' toto
est il possible de faire ça sans etre obligé de taper 25x la lettre A ? (sans etre obliger de passer par script avec des boucle).
genre : sed -i -e 's/ZZZZZZ/25xA/' toto
ou par une autre méthode !!
Merci
j'ai un fichier contenant par exemple ZZZZZZ et je voudrais le remplacer par 25x la lettre A (donc AAAAAAA..).
il est possible de faire ça avec sed :
sed -i -e 's/ZZZZZZ/AAA....AAA/' toto
est il possible de faire ça sans etre obligé de taper 25x la lettre A ? (sans etre obliger de passer par script avec des boucle).
genre : sed -i -e 's/ZZZZZZ/25xA/' toto
ou par une autre méthode !!
Merci
Configuration: Windows XP Firefox 2.0.0.16
2 réponses
-
Salut,
en attendant la solution sed ;-)lami20j@debian:~/trash$ cat zzzzzz.txt ZZZZZZ lami20j@debian:~/trash$ wc -c zzzzzz.txt 7 zzzzzz.txt lami20j@debian:~/trash$ perl -pi.orig -e 's/Z{6}/"A" x 25/e' zzzzzz.txt lami20j@debian:~/trash$ cat zzzzzz.txt AAAAAAAAAAAAAAAAAAAAAAAAA lami20j@debian:~/trash$ wc -c zzzzzz.txt 26 zzzzzz.txt lami20j@debian:~/trash$Le caractère de saute de ligne est compté c'est pour ça que tu as 7 (en fait Z c'est 6 fois)
pareil pour A, tu as 25 + le saute de ligne = 26 -
Salut,
Pas mieux ;-(
La solution avec "sed" est plus lourde et moins élégante :[tmpfs]$ cat mortelrdv Bonjour, j'ai un fichier contenant par exemple ZZZZZZ et je voudrais le remplacer par 25x la lettre A (donc AAAAAAA..). il est possible de faire ça avec sed : sed -i -e 's/ZZZZZZ/AAA....AAA/' toto est il possible de faire ça sans etre obligé de taper 25x la lettre A ? (sans etre obliger de passer par script avec des boucle). genre : sed -i -e 's/ZZZZZZ/25xA/' toto ou par une autre méthode !! [tmpfs]$ sed -e 's/Z\{6\}/A/; :b; s/A/&&/;/A\{25\}/! tb;' mortelrdv Bonjour, j'ai un fichier contenant par exemple AAAAAAAAAAAAAAAAAAAAAAAAA et je voudrais le remplacer par 25x la lettre AAAAAAAAAAAAAAAAAAAAAAAAA (donc AAAAAAA..). il est possible de faire ça avec sed : sed -i -e 's/AAAAAAAAAAAAAAAAAAAAAAAAA/AAA....AAA/' toto est il possible de faire ça sans etre obligé de taper 25x la lettre AAAAAAAAAAAAAAAAAAAAAAAAA ? (sans etre obliger de passer par script avec des boucle). genre : sed -i -e 's/AAAAAAAAAAAAAAAAAAAAAAAAA/25xA/' toto ou par une autre méthode !! [tmpfs]$Mais bon, elle marche aussi ;-))