OVH Cloud OVH Cloud

sed et append

12 réponses
Avatar
Jean-François Garnier
Bonjour,
Malgré mes recherches sur le Net et la consultation de manpages je n'arrive
pas à résoudre le problème suivant:
J'ai un fichier de 340 000 lignes ( il s'agit de résultats md5), qui se
présente comme suit:
aa5589552a05147b
a00012478ruopefr2
....
j'aimerai ajouter à la suite de ces lignes une virgule et je tente
désespérément d'utiliser la commande Sed car elle me
semble adaptée a mon problème.

cat monfichier |sed -f monajout > monnouveaufichier

monajout est le suivant:
a\
,

mon résultat est:
aa5589552a05147b
,
a00012478ruopefr2
,
.....

J'ai donc deux hypothèses:
1/ma commande n'est pas bonne (et c'est pas faute d'avoir cherché...)
2/mon fichier origine est mal formaté (ouvert sous VI mais à l'origine
provenant de DOS)

Qui peut m'aider ?

PS: Je précise pas que je débute dans le domaine car tout le monde s'en
fiche, d'ailleurs si j'étais pas
un newbie je ferais pas ce genre de post ...

Jef

2 réponses

1 2
Avatar
Laurent Wacrenier
Cyril Guibourg écrit:
while read i; do echo $i,; done < fichier


attention à $IFS et aux lignes '-n'.

Avatar
Stephane Chazelas
2004-01-12, 10:48(+00), Laurent Wacrenier:
Cyril Guibourg écrit:
while read i; do echo $i,; done < fichier


attention à $IFS et aux lignes '-n'.


Sans parler de la filename generation, du traitement spécial de
read sans "-r", des limitations de echo, du shell, de
l'inefficacité et des problèmes de portabilité.

À mon avis, c'était ironique de la part de Cyril, on peut
difficilement trouver pire comme solution.

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]


1 2