Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 02/05/2010, à 16:45

Hizoka

[resolu] suppr et a ajout de lignes avec sed

Bonjour,

voici le problème :

je voudrais savoir si on peut combiner ces 2 actions sed :

 - sed '1,3d ; /^$/d'
 - sed '$a\Exit'

qui bien évidemment font :

 - Suppression des lignes 1 à 3 et des lignes vides
 - Ajout de "Exit" à la fin

Si je combine les deux :

 - sed '$a\Exit ; 1,3d ; /^$/d'
 - sed '1,3d ; /^$/d ; $a\Exit'

me renvoient :

 - Pas de suppressions, m'ajoute le texte "Exit ; 1,3d ; /^$/d" à la fin
 - Supprime les lignes mais n'ajoute pas le "Exit" à la fin

Alors la commande :

sed "1,3d ; /^$/d" | sed '$a\Exit'

fonctionne mais utilise un pipe qui pourrait normalement disparaitre non ?

merci

Dernière modification par Hizoka (Le 18/12/2011, à 01:40)

Hors ligne

#2 Le 02/05/2010, à 21:53

francoisp31

Re : [resolu] suppr et a ajout de lignes avec sed

 francois@francois-laptop:~$ cat > toto
fdsfdsg
fgdsfgsdf
fdgdfsgs
fdgdsgdfs
rezarezr
erazeraz
arzazreaz
francois@francois-laptop:~$ cat toto | sed "1,5d ; s/^$// ;$,$ a\Exit"
erazeraz
arzazreaz
Exit
francois@francois-laptop:~$

tu es obligé de mettre le numero de ligne complet $,$ pour l'append de "EXIT" c'est pour ça


Que les puces d'un millier de chiens galleux infeste le cul de celui qui osera vous gacher ne serai ce
qu'une seule journée de votre vie et que les bras lui soient trop court pour qu'il puisse se le gratter.

Hors ligne

#3 Le 02/05/2010, à 22:02

Hizoka

Re : [resolu] suppr et a ajout de lignes avec sed

si tu ajoutes des sauts de lignes dans ton fichier, ca marche ?

car avec mes tests, ca suppr bien les 1eres lignes, ça ajoute le Exit mais ca ne suppr pas les lignes vides. (normal je pense avec s/^$//)

si je remplace s/^$// par /^$/d ca ne marche pas non plus.

ou j'ai zapé un truc ou ca marche pas...

Hors ligne

#4 Le 02/05/2010, à 23:48

nesthib

Re : [resolu] suppr et a ajout de lignes avec sed

s/^$// ne supprime pas les ligne mais les vide (or elles le sont déjà), il faut bien faire /^$/d

après ceci fonctionne très bien :

sed '1,5d ; /^$/d ; $,$a\Exit' fichier

(sinon poste un exemple de fichier)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#5 Le 03/05/2010, à 04:12

Hizoka

Re : [resolu] suppr et a ajout de lignes avec sed

j'utilise la commande remove-apt-repository -l qui liste les ppa présents.

hizoka@hizo-pc:~$ sudo remove-apt-repository -l

PPA Launchpad repositories added to your list of software sources:

chromium-daily/ubuntu lucid main

eudoxos/ubuntu lucid main

gcstar/ubuntu lucid main

info-g-com/xserver-xorg-1.7.6-gc/ubuntu lucid main

kubuntu-ppa/backports/ubuntu lucid main

kubuntu-ppa/ubuntu lucid main

matthaeus123/mrw-gimp-svn/ubuntu lucid main

nilarimogard/webupd8/ubuntu lucid main

rvm/testing/ubuntu lucid main

tucan/ubuntu lucid main

On ajoute sed par morceaux :
On vire les 3 premiers lignes

hizoka@hizo-pc:~$ sudo remove-apt-repository -l | sed '1,3d'
chromium-daily/ubuntu lucid main

eudoxos/ubuntu lucid main

gcstar/ubuntu lucid main

info-g-com/xserver-xorg-1.7.6-gc/ubuntu lucid main

kubuntu-ppa/backports/ubuntu lucid main

kubuntu-ppa/ubuntu lucid main

matthaeus123/mrw-gimp-svn/ubuntu lucid main

nilarimogard/webupd8/ubuntu lucid main

rvm/testing/ubuntu lucid main

tucan/ubuntu lucid main

On vire les lignes vides

hizoka@hizo-pc:~$ sudo remove-apt-repository -l | sed '1,3d ; /^$/d'
chromium-daily/ubuntu lucid main
eudoxos/ubuntu lucid main
gcstar/ubuntu lucid main
info-g-com/xserver-xorg-1.7.6-gc/ubuntu lucid main
kubuntu-ppa/backports/ubuntu lucid main
kubuntu-ppa/ubuntu lucid main
matthaeus123/mrw-gimp-svn/ubuntu lucid main
nilarimogard/webupd8/ubuntu lucid main
rvm/testing/ubuntu lucid main
tucan/ubuntu lucid main

et avec exit :

hizoka@hizo-pc:~$ sudo remove-apt-repository -l | sed '1,3d ; /^$/d ; $,$a\Exit'
chromium-daily/ubuntu lucid main
eudoxos/ubuntu lucid main
gcstar/ubuntu lucid main
info-g-com/xserver-xorg-1.7.6-gc/ubuntu lucid main
kubuntu-ppa/backports/ubuntu lucid main
kubuntu-ppa/ubuntu lucid main
matthaeus123/mrw-gimp-svn/ubuntu lucid main
nilarimogard/webupd8/ubuntu lucid main
rvm/testing/ubuntu lucid main
tucan/ubuntu lucid main

ca n'ajoute pas exist à la fin.

Mais en effet la commande fonctionne avec un fichier fait à la main.

Dernière modification par Hizoka (Le 03/05/2010, à 04:17)

Hors ligne

#6 Le 04/05/2010, à 19:34

Hizoka

Re : [resolu] suppr et a ajout de lignes avec sed

une idée ?

Hors ligne

#7 Le 04/05/2010, à 20:39

Totor

Re : [resolu] suppr et a ajout de lignes avec sed

heu bah ceci fonctionne :

sudo remove-apt-repository -l | sed '1,3d; /^[[:blank:]]*$/d;$ a\exit'

sinon, pourquoi chercher compliquer ?

sudo remove-apt-repository -l | sed '1,3d ; /^[[:blank:]]*$/d' ; echo "exit"

Dernière modification par Totor (Le 04/05/2010, à 20:40)


-- Lucid Lynx --

Hors ligne

#8 Le 04/05/2010, à 20:42

Hizoka

Re : [resolu] suppr et a ajout de lignes avec sed

ta 1ere solution ne fonctionne pas chez moi :

hizoka@hizo-pc:~$ sudo remove-apt-repository -l | sed '1,3d; /^[[:blank:]]*$/d;$ a\exit'
chromium-daily/ubuntu lucid main
eudoxos/ubuntu lucid main
gcstar/ubuntu lucid main
info-g-com/xserver-xorg-1.7.6-gc/ubuntu lucid main
kubuntu-ppa/backports/ubuntu lucid main
kubuntu-ppa/ubuntu lucid main
matthaeus123/mrw-gimp-svn/ubuntu lucid main
nilarimogard/webupd8/ubuntu lucid main
rvm/testing/ubuntu lucid main
s-mankowski/ubuntu lucid main
tucan/ubuntu lucid main
yoann-laissus/rekonq-ppa/ubuntu lucid main
hizoka@hizo-pc:~$

en effet la 2eme fonctionne smile
toujours aussi fort ce totor smile

dommage quand même que le sed ne fonctionne pas chez moi....

Hors ligne

Haut de page ↑