Sed et insertion de ligne vide au-dessus dans un fichier
Résolu
pcsystemd
Messages postés
702
Date d'inscription
Statut
Membre
Dernière intervention
-
pcsystemd Messages postés 702 Date d'inscription Statut Membre Dernière intervention -
pcsystemd Messages postés 702 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Le contenu du fichier est :
Name|id|lc office AP|AP|8 ATME|ATME.U|17 BEMS|BEPMS|3 BCI|BCI|937 etc.. WEB27|WEB3|25 Part|N visle|Ce ace AP|AP|{3241,3178,341,340,551,109,3171,3243} ATME|ATME.U|{2936,2389,528,3617,6026,669,3185,2376,3938,2819,3431,3173,252,3547,2990,2877,48} etc..
Je souhaite ajouter une ligne vide au-dessus de "Part|N visle|Ce ace" pour que cela fasse :
Name|id|lc office AP|AP|8 ATME|ATME.U|17 BEMS|BEPMS|3 BCI|BCI|937 etc.. WEB27|WEB3|25 Part|N visle|Ce ace AP|AP|{3241,3178,341,340,551,109,3171,3243} ATME|ATME.U|{2936,2389,528,3617,6026,669,3185,2376,3938,2819,3431,3173,252,3547,2990,2877,48} etc..
J'ai essayé cela ci-dessous mais cela ne fonctionne pas!
sed -e '/WEB27/{x;p;x;}
Une idée?
Merci
A voir également:
- Sed et insertion de ligne vide au-dessus dans un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
4 réponses
le \\ est bizarre mais en testant un classique \n (sur un linux lite bash) il ne fonctionnait pas mais dans mon environnement \\ oui
Si au départ tu as 2 fichiers, tu crées un fichier avec une ligne vide et tu concatènes les 3 fichiers
echo -e >vide.txt cat test1.txt vide.txt test2.txt >test3.txt
Bonjour,
*********** ajout après
sed '/^WEB27.*/a \\' test.txt
Name|id|lc office
AP|AP|8
ATME|ATME.U|17
BEMS|BEPMS|3
BCI|BCI|937
etc..
WEB27|WEB3|25
Part|N visle|Ce ace
AP|AP|{3241,3178,341,340,551,109,3171,3243}
ATME|ATME.U|{2936,2389,528,3617,6026,669,3185,2376,3938,2819,3431,3173,252,3547,2990,2877,48}
etc..
******** insertion avant
sed '/^Part|N .*/i \\' test.txt
Name|id|lc office
AP|AP|8
ATME|ATME.U|17
BEMS|BEPMS|3
BCI|BCI|937
etc..
WEB27|WEB3|25
Part|N visle|Ce ace
AP|AP|{3241,3178,341,340,551,109,3171,3243}
ATME|ATME.U|{2936,2389,528,3617,6026,669,3185,2376,3938,2819,3431,3173,252,3547,2990,2877,48}
etc..
Merci.
En fait j'ai cela dans mon script bash :
sed -i '1iName|id|lc office' file1.csv | sed -i '1iPart|N visle|Ce ace' file2.csv #Assemble les 2 fichiers en un seul puis insére une ligne vide au dessus de "Part|N visle|Ce ace" et redirection vers un troisième fichier cat file2.csv >> file1.csv | sed -e '/^Part|N .*/i \\' file1.csv > file3.csv
Si je souhaite insérer une ligne vide avant
Part|N visle|Ce ace
uniquement.j' ajoute ce que tu m'indiques dans mon script mais cela ne fonctionne pas.
sed -e '/^Part|N .*/i \\'
Une idée?