A voir également:
- Bash : sed sur deux lignes consécutive
- Bingo bash - Télécharger - Divers Jeux
- Bash list ✓ - Forum Shell
- Bash permission non accordée - Forum Shell
- Bash pause ✓ - Forum Shell
- Bash addition - Forum Programmation
7 réponses
Ben a priori oui, vu que \n désigne un retour à la ligne (\r\n si c'est un fichier windowsien). Évidemment dans ton expression sed il faudra sûrement écrire \\n et \\r pour que ça fonctionne.
Bonne chance
Bonne chance
Salut mamiemando,
T'avais raison, c'est possible !
j'ai cependant un ptit probleme
j'execute cette commande
sed '/subckt/{N;s/\(^subckt $3.*\)\n+/\1 /g}' fic1 > ! fic2
et cela dans le but d'obtenir
au depart:
subckt SDFFSLRLD2 CLOCK DATA Q QB RL SL TE TI Q1B Q1
+ N_Q2_M13_s N_Q2B_M14_d
resultat souhaité:
subckt SDFFSLRLD2 CLOCK DATA Q QB RL SL TE TI Q1B Q1 N_Q2_M13_s N_Q2B_M14_d
quand j'execute
sed '/subckt/{N;s/\(^subckt SDFFSLRLD2.*\)\n+/\1 /g}' fic1 > ! fic2 ca marche
mais quand je fais
sed '/subckt/{N;s/\(^subckt $3.*\)\n+/\1 /g}' fic1 > ! fic2
ca ne marche plus
car en réaliité le texte SDFFSLRLD2 je le recois en parametre d'un script
donc ma question , comment utiliser des variables a l'interieur des accolades {} ??
Merci d'avance
T'avais raison, c'est possible !
j'ai cependant un ptit probleme
j'execute cette commande
sed '/subckt/{N;s/\(^subckt $3.*\)\n+/\1 /g}' fic1 > ! fic2
et cela dans le but d'obtenir
au depart:
subckt SDFFSLRLD2 CLOCK DATA Q QB RL SL TE TI Q1B Q1
+ N_Q2_M13_s N_Q2B_M14_d
resultat souhaité:
subckt SDFFSLRLD2 CLOCK DATA Q QB RL SL TE TI Q1B Q1 N_Q2_M13_s N_Q2B_M14_d
quand j'execute
sed '/subckt/{N;s/\(^subckt SDFFSLRLD2.*\)\n+/\1 /g}' fic1 > ! fic2 ca marche
mais quand je fais
sed '/subckt/{N;s/\(^subckt $3.*\)\n+/\1 /g}' fic1 > ! fic2
ca ne marche plus
car en réaliité le texte SDFFSLRLD2 je le recois en parametre d'un script
donc ma question , comment utiliser des variables a l'interieur des accolades {} ??
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
J'ai lu ton lien mais ca ne réponds pas au cas des accolades.
c'est poas grave , je vais chercher sur le net
J'ai lu ton lien mais ca ne réponds pas au cas des accolades.
c'est poas grave , je vais chercher sur le net
Bizarre que ça ne marche pas pour toi ;-\
mamiemando => Non il ne faut pas échapper les accolades, dans ce cas là elles font parties intégrantes de la syntaxe de sed, elles servent à regrouper des commandes qui ne s'appliquent qu'au motif les précédent.
[tmpfs]$ cat fic1 subckt SDFFSLRLD2 CLOCK DATA Q QB RL SL TE TI Q1B Q1 + N_Q2_M13_s N_Q2B_M14_d [tmpfs]$ sed '/subckt/{N;s/\(^subckt SDFFSLRLD2.*\)\n+/\1 /g}' fic1 subckt SDFFSLRLD2 CLOCK DATA Q QB RL SL TE TI Q1B Q1 N_Q2_M13_s N_Q2B_M14_d [tmpfs]$ set SDFFSLRLD2 [tmpfs]$ echo $1 SDFFSLRLD2 [tmpfs]$ sed "/subckt/{N;s/\(^subckt $1.*\)\n+/\1 /g}" fic1 subckt SDFFSLRLD2 CLOCK DATA Q QB RL SL TE TI Q1B Q1 N_Q2_M13_s N_Q2B_M14_d [tmpfs]$
mamiemando => Non il ne faut pas échapper les accolades, dans ce cas là elles font parties intégrantes de la syntaxe de sed, elles servent à regrouper des commandes qui ne s'appliquent qu'au motif les précédent.