#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)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
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...
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#6 Le 04/05/2010, à 19:34
- Hizoka
Re : [resolu] suppr et a ajout de lignes avec sed
une idée ?
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
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
toujours aussi fort ce totor
dommage quand même que le sed ne fonctionne pas chez moi....
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne