Pb sed : suppression de lignes
Résolu
userette
-
userette -
userette -
Bonjour tout le monde,
je voudrais supprimer un ensemble de lignes d'un fichier.
1/ lorsque je tape
2/ lorsque je tape
quelqu'un pourrait m'aider. je sais que vs etes super fort dans ce forum :) :) :)
merci
je voudrais supprimer un ensemble de lignes d'un fichier.
1/ lorsque je tape
sed '1d' tmpça marche --> suppression de la 1ere ligne du fichier tmp. sauf que ça m'affiche toujours le reste du fichier. je voudrais rediriger la sortie ou qu'il n'y ait plus de sortie du tt.
2/ lorsque je tape
sed '1,5d' tmp, ça marche --> je voudrais supprimer toutes les lignes de 1 à 5.
quelqu'un pourrait m'aider. je sais que vs etes super fort dans ce forum :) :) :)
merci
A voir également:
- Sed supprimer ligne vide
- Supprimer rond bleu whatsapp - Guide
- Supprimer page word vide - Guide
- Partager photos en ligne - Guide
- Supprimer pub youtube - Accueil - Streaming
- Mètre en ligne - Guide
7 réponses
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Sinon il y a "ed" aussi :
ed -s fich <<< $'1,5d\nw';-))
thanks a lot jipicy :)))
tu m'aides bcp.
une dernière question. je veux mettre tt ça dans un script :
explication :
je cherche une chaine $MSISDN dans le fichier base. si je trouve, je mets la ligne contenant la chaine ds un fichier tmp.txt.
j'extrais le num de ligne où j'ai trouvé la chaine et je supprime toutes les lignes qui precedent ce num de ligne.
Probleme :
comment séparer le num_ligne du d ???? question bete je sais mais je trouve pas ;(
t'aurais une idée? merci
tu m'aides bcp.
une dernière question. je veux mettre tt ça dans un script :
for MSISDN in $(cat msisdn.txt) do echo $MSISDN `perl -ne "next unless /^$MSISDN/;print and exit" base >> tmp.txt` num_ligne=`perl -ne "next unless /^$MSISDN/;print "$." and exit" Dump_IN_all.ctl` echo $num_ligne sed '1,$num_ligned' tmp > tmp.bak && mv tmp.bak tmp done
explication :
je cherche une chaine $MSISDN dans le fichier base. si je trouve, je mets la ligne contenant la chaine ds un fichier tmp.txt.
j'extrais le num de ligne où j'ai trouvé la chaine et je supprime toutes les lignes qui precedent ce num de ligne.
Probleme :
sed '1,$num_ligned' tmp > tmp.bak && mv tmp.bak tmp
comment séparer le num_ligne du d ???? question bete je sais mais je trouve pas ;(
t'aurais une idée? merci
si je mets
j'ai :
comment je peux constituer le sed avec mon num_ligne ?
for MSISDN in $(cat msisdn.txt) do echo $MSISDN `perl -ne "next unless /^$MSISDN/;print and exit" base >> tmp.txt` num_ligne=`perl -ne "next unless /^$MSISDN/;print "$." and exit" Dump_IN_all.ctl` echo $num_ligne sed '1,"$num_ligne"d' tmp > tmp.bak && mv tmp.bak tmp done
j'ai :
bash-2.05$ extract_info.sh 21620001019 sed: command garbled: 1,"$num_ligne"d bash-2.05$
comment je peux constituer le sed avec mon num_ligne ?
j'ai l'impression que tt ne fonctionne pas pour moi !!! ça m'enerve