AWK-SUB Pb de
Résolu
Jacouille
-
Jacouille -
Jacouille -
Bonjour,
J'ai un problème ressemblant à celui abordé ici : http://www.commentcamarche.net/forum/affich 2846642 shell remplacer un ligne dans un fichier awk
Je suis arrivé à utiliser la méthode fournie gentiment par jipicy pour faire la même chose avec une chaîne de caractères "normale".
Mais, si je veux utiliser une chaîne de caractère contenant un backslash, je n'arrive plus à rien.
Exemple :
Il modifie efefctivement le premier "machin" de chaque ligne de plop par "Tata"
Mais, si je passe avec
Les machin\bidule ne sont pas modifiés en "Tata".
Pourtant, si je fais un echo, j'ai bien la bonne chaîne de caractères.
J'ai aussi essayé de mettre des "\\" à la place des "\", mais rien n'y fait...
Par contre, ce que je ne comprend pas, c'est que si je modifie Tata par Tat\\Youpla, cela fonctionne très bien.
Merci de votre aide précieuse
J'ai un problème ressemblant à celui abordé ici : http://www.commentcamarche.net/forum/affich 2846642 shell remplacer un ligne dans un fichier awk
Je suis arrivé à utiliser la méthode fournie gentiment par jipicy pour faire la même chose avec une chaîne de caractères "normale".
Mais, si je veux utiliser une chaîne de caractère contenant un backslash, je n'arrive plus à rien.
Exemple :
var="machin" cat plop | awk '{sub(/'$var'/,"Tata");print}'
Il modifie efefctivement le premier "machin" de chaque ligne de plop par "Tata"
Mais, si je passe avec
var="machin\bidule"
Les machin\bidule ne sont pas modifiés en "Tata".
Pourtant, si je fais un echo, j'ai bien la bonne chaîne de caractères.
J'ai aussi essayé de mettre des "\\" à la place des "\", mais rien n'y fait...
Par contre, ce que je ne comprend pas, c'est que si je modifie Tata par Tat\\Youpla, cela fonctionne très bien.
Merci de votre aide précieuse
A voir également:
- AWK-SUB Pb de
- Move your sub - Télécharger - Sous-titres
- D sub out of range 67.5 khz 60hz ✓ - Forum Windows
- Branchement sub double bobine 2x2 ohm ✓ - Forum Autoradio
- Comment ouvrir un fichier .sub - Forum TV & Vidéo
- Lecture de fichiers .sub - Forum TV & Vidéo
1 réponse
J'avais posé ma question ici en désespoir de cause, malgré de nombreuses recherches sur Internet...
Et voici LA réponse (après avoir fait un petit passage sur http://snap.nlc.dcccd.edu/reference/awkref/gawk_5.html#SEC27 ), et un grand coup de génie :=)
Il ne faut pas écrire :
En effet, un echo de $var donne bien Machin\Truc sur la première solution, et alors awk cherche un "\T", au lieu de chercher un "\\", qui est donné par un echo de $var dans la deuxième solution...
Évident, en fait, mais j'y avais pas pensé.
À plus tard
Et voici LA réponse (après avoir fait un petit passage sur http://snap.nlc.dcccd.edu/reference/awkref/gawk_5.html#SEC27 ), et un grand coup de génie :=)
Il ne faut pas écrire :
var="Machin\\Truc"mais
var="Machin\\\\Truc"
En effet, un echo de $var donne bien Machin\Truc sur la première solution, et alors awk cherche un "\T", au lieu de chercher un "\\", qui est donné par un echo de $var dans la deuxième solution...
Évident, en fait, mais j'y avais pas pensé.
À plus tard