[SED]-problème de boucle dans script shell
Fermé
[ASUS]
-
5 févr. 2010 à 10:57
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 5 févr. 2010 à 11:37
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 5 févr. 2010 à 11:37
A voir également:
- [SED]-problème de boucle dans script shell
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
2 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
5 févr. 2010 à 11:07
5 févr. 2010 à 11:07
Salut,
Je travaille sur un script bash et j'aimerai savoir comment, avec les commandes Sed, laisser une ligne vide entre les lignes que je veux enregistrer dans un fichier.
Tout dépend du traitement (syntaxe) effectué avec sed ;-\
Mais en gros il suffit de rajouter un "\n" en fin de ligne traitée.
De plus j'aimerai connaitre la syntaxe qui me permettrai d'incrémenter les lignes d'un fichier dans une variable (dans une boucle while)
Je travaille sur un script bash et j'aimerai savoir comment, avec les commandes Sed, laisser une ligne vide entre les lignes que je veux enregistrer dans un fichier.
Tout dépend du traitement (syntaxe) effectué avec sed ;-\
Mais en gros il suffit de rajouter un "\n" en fin de ligne traitée.
De plus j'aimerai connaitre la syntaxe qui me permettrai d'incrémenter les lignes d'un fichier dans une variable (dans une boucle while)
var=1 ((var++)
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
5 févr. 2010 à 11:37
5 févr. 2010 à 11:37
Re-
Là on tourne en rond !
Il nous faut des exemples précis de ce que tu veux, du style AVANT => APRES.
Un exemple d'ajout de ligne vide :
Il ne faut pas mélanger les commandes/syntaxes propres au shell (echo) et les commandes/syntaxes de d'outils comme "sed" ou "awk" !
Là on tourne en rond !
Il nous faut des exemples précis de ce que tu veux, du style AVANT => APRES.
Un exemple d'ajout de ligne vide :
jp@MDK:~/tmpfs ssh$ cat plop $var<"ligne1" traitements $var<"ligne2" traitements $var<"ligne3" traitements jp@MDK:~/tmpfs ssh$ sed -n '/traitements/! s/.*/&\n/w foo' plop jp@MDK:~/tmpfs ssh$ cat foo $var<"ligne1" $var<"ligne2" $var<"ligne3" jp@MDK:~/tmpfs ssh$
Il ne faut pas mélanger les commandes/syntaxes propres au shell (echo) et les commandes/syntaxes de d'outils comme "sed" ou "awk" !
5 févr. 2010 à 11:15
mais comment je commence à apprendre un peu le sed, je me demandais s'il existait une commande sed qui me permettrai de sauter des lignes ... donc je laisse "\n" :-)
Pour ce qui est de l'incrémentation, ta syntaxe me permettrai plus d'incrémenter des numéro de ligne non ?
ou alors c'est le même principe avec des chaînes de caractères ?
5 févr. 2010 à 11:21
• Remplace l'enregistrement courant dans l'espace de travail par la ligne suivante sans entamer
un nouveau cycle. La ligne remplacée quant à elle est envoyé sur la sortie standard.
• echo -e "AAA\nBBB\nCCC\nDDD" | sed -n '/BBB/ {n;p;q}'
A quoi correspondent les chaines AAA nBBB nCCC ... BBB etc ?