Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/12/2007, 16h48   #1
Membre du Club
 
Inscription : mars 2006
Messages : 158
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 158
Points : 48
Points : 48
Par défaut [Bash] Insertion texte sous chaque ligne

Salut,

Malgré des dizaines de pages web visitées, je n'arrive pas à résoudre un pb : dans un fichier texte, contenant n lignes, je souhaiterais insérer sous chaque ligne un texte

Voici le fichier original

Citation:
coucou1
coucou2
...
coucoun
Et le résultat recherché :

Citation:
coucou1
salut
coucou2
salut
...
coucoun
salut
Bien sur, j'ai gratté au maximum sur la commande sed, mais ça n'aboutit pas... pour ajouter du texte au début d'une ligne, ou à la fin, aucun souci, c'est le saut de ligne que je n'arrive pas à gérer

Par la suite, je voudrais ajouter sous chaque ligne précédemment insérée un nouveau texte . Et encore pareil 3 fois. J'avais trouvé un lien qui permettait de définir une plage de lignes à partir de laquelle l'insertion doit se faire (exemple : insérer ce texte toutes les trois lignes, toutes les 4 lignes, etc), mais je ne le retrouve plus

Quelqu'un pourrait-il m'orienter vers un lien ou un détail supplémentaire, svp ?

Merci
eZula est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2007, 18h29   #2
Membre expérimenté
 
Avatar de BlaireauOne
 
Inscription : mars 2007
Messages : 469
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2007
Messages : 469
Points : 576
Points : 576
Je pense que ce lien répond à tes besoins

script :

Code :
1
2
3
4
5
6
 
echo "* Ajout de ligne salut après chaque ligne présente"
sed 's/$/\nsalut/' liste.txt
 
echo -e "\n* Ajout de ligne salut après chaque ligne présente commençant par coucou"
sed '/^coucou/s/$/\nsalut/' liste.txt

résultat :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
* Ajout de ligne salut après chaque ligne présente
coucou1
salut
coucou2
salut
...
salut
coucoun 
salut
 
* Ajout de ligne salut après chaque ligne présente commençant par coucou
coucou1
salut
coucou2
salut
...
coucoun 
salut
__________________
Loi de Murphy:
La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.
BlaireauOne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2007, 18h44   #3
Membre du Club
 
Inscription : mars 2006
Messages : 158
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 158
Points : 48
Points : 48
Merci bien BlaireauOne, c'est exactement ce qu'il me fallait
eZula est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h20.


 
 
 
 
Partenaires

Hébergement Web