SHELL-Commande sed ne supprime pas les lignes
Résolu
Pedroo
-
helpeerr -
helpeerr -
A voir également:
- SHELL-Commande sed ne supprime pas les lignes
- Invite de commande - Guide
- Classic shell - Télécharger - Personnalisation
- Recuperer message whatsapp supprimé - Guide
- Message supprimé whatsapp - Guide
- Commande terminal mac - Guide
4 réponses
Salut,
Pour comprendre, bonne lecture ici
Pour comprendre, bonne lecture ici
lami20j@debian-acer:~$ cat plop aaaa error bbbb error aaa cccc error dddd lami20j@debian-acer:~$ sed -n '/error/d' plop lami20j@debian-acer:~$ sed -e '/error/d' plop aaaa bbbb dddd lami20j@debian-acer:~$ cat plop aaaa error bbbb error aaa cccc error dddd lami20j@debian-acer:~$ sed -e '/error/d' plop > plop.tmp lami20j@debian-acer:~$ cat plop aaaa error bbbb error aaa cccc error dddd lami20j@debian-acer:~$ cat plop.tmp aaaa bbbb dddd lami20j@debian-acer:~$ sed -i.orig '/error/d' plop lami20j@debian-acer:~$ cat plop aaaa bbbb dddd lami20j@debian-acer:~$ cat plop.orig aaaa error bbbb error aaa cccc error dddd
Salut,
l'option -i n'est pas reconnue (illegal option)...
Tu es sur quel système?
Tu as quelle version de sed ?
Chez moi j'ai
On peut le faire avec perl alors
l'option -i n'est pas reconnue (illegal option)...
Tu es sur quel système?
Tu as quelle version de sed ?
Chez moi j'ai
lami20j@debian-acer:~$ sed --version GNU sed version 4.2.1
On peut le faire avec perl alors
lami20j@debian-acer:~$ cat plop aaaa error bbbb error aaa cccc error dddd lami20j@debian-acer:~$ perl -ni.orig -e 'print unless /error/' plop lami20j@debian-acer:~$ cat plop aaaa bbbb dddd lami20j@debian-acer:~$ cat plop.orig aaaa error bbbb error aaa cccc error dddd
Re,
Ou avec une combinaison grep et echo
Ou avec une combinaison grep et echo
lami20j@debian-acer:~$ cat plop aaaa error bbbb error aaa cccc error dddd lami20j@debian-acer:~$ var=$(grep -v error plop) && echo "$var" > plop lami20j@debian-acer:~$ cat plop aaaa bbbb dddd
la commande
Mais tes deux autres solutions (perl et grep+echo) marchent parfaitement, avec une préférence pour la dernière car je n'ai pas de fichier à supprimer ensuite.
Encore merci ;)
sed --versionne marche pas non plus... bizarre
Mais tes deux autres solutions (perl et grep+echo) marchent parfaitement, avec une préférence pour la dernière car je n'ai pas de fichier à supprimer ensuite.
Encore merci ;)
Re,
De rien ;-)
avec une préférence pour la dernière car je n'ai pas de fichier à supprimer ensuite.
Il suffit d'enlever .orig de la commande perl et il n'y aura plus de fichier à supprimer.
Toutefois, quand on n'est pas sur de résultat il faut penser faire une sauvegarde de fichier d'origine
A savoir que .orig est-une extension crée par moi, tu peux mettre n'importe quoi .bak, .old, .ancien, .blabla
Voici sans sauvegarde de fichier original (la dernière commande montre qu'il n'y a pas d'autres fichiers à part plop)
De rien ;-)
avec une préférence pour la dernière car je n'ai pas de fichier à supprimer ensuite.
Il suffit d'enlever .orig de la commande perl et il n'y aura plus de fichier à supprimer.
Toutefois, quand on n'est pas sur de résultat il faut penser faire une sauvegarde de fichier d'origine
A savoir que .orig est-une extension crée par moi, tu peux mettre n'importe quoi .bak, .old, .ancien, .blabla
Voici sans sauvegarde de fichier original (la dernière commande montre qu'il n'y a pas d'autres fichiers à part plop)
lami20j@debian-acer:~$ cat plop aaaa error bbbb error aaa cccc error dddd lami20j@debian-acer:~$ perl -ni -e 'print unless /error/' plop lami20j@debian-acer:~$ cat plop aaaa bbbb dddd lami20j@debian-acer:~$ cat plop.orig cat: plop.orig: No such file or directory
J'ai cru qu'on pouvait le faire sans passer par un fichier temporaire.
Merci bien ;)
J'ai cru qu'on pouvait le faire sans passer par un fichier temporaire.
Oui, on peut. C'était le dernier exemple avec l'option -i
Regarde attentivement ;-)
En fait le fichier original est sauvegardé avec l'extension .orig
ça ne fonctionne pas de mon côté : l'option -i n'est pas reconnue (illegal option)...
Ca marche bien en faisant :