Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

supprimer les retours a la ligne avec sed

7 réponses
Avatar
franck Molle
Bonjour,

question simpliste pour certains peut etre mais je ne trouve pas la
solution, je voudrais supprimer des lignes avec sed y compris le retour
chariot de fin de ligne. J'arrive à supprimer le contenu des ligne sauf
les retours a la ligne ce qui a pour effet de me laisser des espaces
enormes ds les fichiers, pas tres propre.

par ex soit le fichier suivant :
je voudrais supprimer toutes les lignes commencant par #
j'ai donc utiliser sed :
sed -e "s/#.*\$//g" qui me laissent un tas de lignes vides ..... idem
pour sed -e "s/#.*\$\n//g"

---------------------------------------
# Support LBA for large hard disks.
#
lba32

# Overrides the default mapping between harddisk names and the BIOS'
# harddisk order. Use with caution.
#disk=/dev/hde
# bios=0x81

#disk=/dev/sda
# bios=0x80

# Specifies the boot device. This is where Lilo installs its boot
# block. It can be either a partition, or the raw device, in which
# case it installs in the MBR, and will overwrite the current MBR.
#
boot=/dev/hda

etc....
------------------------------------

des suggestions ??

@+



--
*************************************************
* Franck MOLLE *
* Animateur de Secteur *
* Relais assistance Tice, Louviers-Vernon *
*************************************************


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

7 réponses

Avatar
Pierre Chifflier
On Sat, Aug 14, 2004 at 10:14:46PM +0200, franck Molle wrote:
Bonjour,


Bonjour

question simpliste pour certains peut etre mais je ne trouve pas la
solution, je voudrais supprimer des lignes avec sed y compris le retour
chariot de fin de ligne. J'arrive à supprimer le contenu des ligne sauf
les retours a la ligne ce qui a pour effet de me laisser des espaces
enormes ds les fichiers, pas tres propre.

par ex soit le fichier suivant :
je voudrais supprimer toutes les lignes commencant par #
j'ai donc utiliser sed :
sed -e "s/#.*$//g" qui me laissent un tas de lignes vides ..... idem
pour sed -e "s/#.*$n//g"



Pourquoi ne pas demander simplement a sed d'effacer la ligne, au lieu
d'effectuer un remplacement ?
Quelque chose comme:

sed -e '/#.*/ d'

devrait faire l'affaire.

/P


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Damien POBEL
Le Sat, Aug 14, 2004 at 10:14:46PM +0200, franck Molle écrivait :
Bonjour,

question simpliste pour certains peut etre mais je ne trouve pas la
solution, je voudrais supprimer des lignes avec sed y compris le retour
chariot de fin de ligne. J'arrive à supprimer le contenu des ligne sauf
les retours a la ligne ce qui a pour effet de me laisser des espaces
enormes ds les fichiers, pas tres propre.

par ex soit le fichier suivant :
je voudrais supprimer toutes les lignes commencant par #
j'ai donc utiliser sed :
sed -e "s/#.*$//g" qui me laissent un tas de lignes vides ..... idem
pour sed -e "s/#.*$n//g"


pourquoi n'utilises tu pas grep si tu traites des lignes entières
uniquement:

grep -v '^#.*$' ton_fichier



--
Damien POBEL
http://zeimg.free.fr

écrivait récemment dans f.m.b.l :
Puis-je essayer de remettre ton trollometre de meilleure humeur?


Oh, le mien est mort de rire, là !! :-)
-+- T in GFA : Le troll de la route -+-


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Leopold BAILLY
franck Molle writes:

Bonjour,

question simpliste pour certains peut etre mais je ne trouve pas la
solution, je voudrais supprimer des lignes avec sed y compris le
retour chariot de fin de ligne. J'arrive à supprimer le contenu des
ligne sauf les retours a la ligne ce qui a pour effet de me laisser
des espaces enormes ds les fichiers, pas tres propre.

par ex soit le fichier suivant :
je voudrais supprimer toutes les lignes commencant par #
j'ai donc utiliser sed :
sed -e "s/#.*$//g" qui me laissent un tas de lignes vides ..... idem
pour sed -e "s/#.*$n//g"



Peut-être ne le sais-tu pas, mais sed est un interpréteur de scripts et sait
faire bien plus que simplement remplacer.
Dans ton cas, la commande intéressante est d :

sed -e '/^#/ d'


Léo.
Avatar
Julien Louis
On Sat, Aug 14, 2004 at 10:14:46PM +0200, franck Molle wrote:
Bonjour,



Bonjour,

par ex soit le fichier suivant :
je voudrais supprimer toutes les lignes commencant par #
j'ai donc utiliser sed :
sed -e "s/#.*$//g" qui me laissent un tas de lignes vides ..... idem
pour sed -e "s/#.*$n//g"



Pourquoi ne pas utiliser grep pour virer toutes les lignes commentées ?
grep -v ton_fichier | sed -e '/^$/d' > ton_fichier.tmp &&
mv ton_fichier.tmp ton_fichier

et voila un beau fichier sans commentaires ni lignes vides

--
Quand la loi et le devoir ne font qu'un sans la religion,
nul n'est plus vraiment un moins qu'un individu.
-+- Frank Herbert, Dune -+-


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
franck Molle
Julien Louis a écrit :
On Sat, Aug 14, 2004 at 10:14:46PM +0200, franck Molle wrote:

Bonjour,




Bonjour,


par ex soit le fichier suivant :
je voudrais supprimer toutes les lignes commencant par #
j'ai donc utiliser sed :
sed -e "s/#.*$//g" qui me laissent un tas de lignes vides ..... idem
pour sed -e "s/#.*$n//g"




Pourquoi ne pas utiliser grep pour virer toutes les lignes commentées ?


parceque il me reste encore plein de choses a apprendre en bash ;) ....
la preuve, effectivement tout cela fait l'affaire

grep -v ton_fichier | sed -e '/^$/d' > ton_fichier.tmp &&
mv ton_fichier.tmp ton_fichier

et voila un beau fichier sans commentaires ni lignes vides




merci aussi a damien, leopold et pierre pour leurs reponses

bye

--
*************************************************
* Franck MOLLE *
* Animateur de Secteur *
* Relais assistance Tice, Louviers-Vernon *
*************************************************


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Edi STOJICEVIC
Le 15.08.2004 00:31:24, franck Molle a écrit :
Julien Louis a écrit :
On Sat, Aug 14, 2004 at 10:14:46PM +0200, franck Molle wrote:

Bonjour,




Bonjour,


par ex soit le fichier suivant :
je voudrais supprimer toutes les lignes commencant par #
j'ai donc utiliser sed :
sed -e "s/#.*$//g" qui me laissent un tas de lignes vides .....
idem pour sed -e "s/#.*$n//g"



Pourquoi ne pas utiliser grep pour virer toutes les lignes
commentées ?


parceque il me reste encore plein de choses a apprendre en
bash ;) .... la preuve, effectivement tout cela fait l'affaire

grep -v ton_fichier | sed -e '/^$/d' > ton_fichier.tmp &&
mv ton_fichier.tmp ton_fichier

et voila un beau fichier sans commentaires ni lignes vides




merci aussi a damien, leopold et pierre pour leurs reponses

bye



Salut,

Juste pour dire qu'une liste de diffusion sur les scripts shell existe.
On peut s'abonner sur

http://www.debianworld.org/index.php?page=shellscript-fr

A+


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Marc Chantreux
le 14/08/2004,
Julien Louis nous écrivait :
Pourquoi ne pas utiliser grep pour virer toutes les lignes commentées ?
grep -v ton_fichier | sed -e '/^$/d' > ton_fichier.tmp &&
mv ton_fichier.tmp ton_fichier



3 commandes pour si peu ? perl est ton ami :

perl -i -ne '/^#/ or /^$/ or print' fam.conf

et voila un beau fichier sans commentaires ni lignes vides



tout pareil ... tu peux meme creer un fichier backup si tu as peur de te
louper :

perl -i.save -ne '/^#/ or /^$/ or print' fam.conf

--
tel: 03 90 24 50 00
mel:
---------------------------------------


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact