Comment supprimer les sauts de lignes - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 16-04-2007 à 14:34:45
Salut,
Il me semble plutot que le \n soit en fin de ligne et pas au debut.
à verifier.
Marsh Posté le 16-04-2007 à 14:42:51
weed a écrit : par exemple, j'ai un fichier "testfichier":
|
1. la fin de ligne dans sed (et la plupart des autres trucs à base de regexp) c'est $
2. sed -i /^$/d tonfichier.txt
Edit : bon en fait j'explique :
-i pour être en mode interactif, ie le fichier va être modifié à la volée, du coup on est pas obligé de passer par une redirection
/^$/ : je matche les lignes pour lesquelles la fin de la ligne ($) suit immédiatement le début de la ligne (^)
d : je supprime la ligne qui matche avec mon critère
Marsh Posté le 16-04-2007 à 16:55:07
le \n c'est debut de ligne
et \r c'est la fin
ou l'inverse xD
Marsh Posté le 16-04-2007 à 17:03:25
utb diablo a écrit : le \n c'est debut de ligne |
euh, ou pas...
\n, c'est le saut de ligne unix, \r, c'est le saut de ligne mac, et \r\n, c'est le saut de ligne windows, mais aucun n'est un début de ligne /
Marsh Posté le 31-07-2007 à 14:34:34
Up
Je voudrais faire quelque chose de semblable : supprimer les sauts de lignes par des espaces.
1premier ligne |
1premier ligne 2deuxiemem ligne, 3troisieme ligne |
Quelqu'un a une commande sous la main ?
Marsh Posté le 31-07-2007 à 16:30:53
$ cat iii
iiiiiii
fff
vfff
rvv
vf
$ sed /^$/d iii
iiiiiii
fff
vfff
rvv
vf
$ sed /^$/d iii|xargs
iiiiiii fff vfff rvv vf
Marsh Posté le 31-07-2007 à 16:39:16
Merci
EDIT : un "cat fichier | xargs" suffit.
Marsh Posté le 31-07-2007 à 18:22:42
on peu aussi faire cat file | tr '\n' ' '
Marsh Posté le 16-04-2007 à 12:21:50
par exemple, j'ai un fichier "testfichier":
1premier ligne
2deuxiemem ligne,
3troisieme ligne
j'aimerais supprimer les lignes vides et ainsi obtenir
1premier ligne
2deuxiemem ligne,
3troisieme ligne
j'ai essayé sed 's/^\n//g' testfichier
mais cela ne marche pas....
J'ai l'impression que mon pattern de recherche n'est pas correct. Pourtant je recherche tout simplement les saut de ligne en début de ligne. Nop ?
Il y a pas plus simple, non ?
Ou ai je merdé ?