Salut,
je souhaite supprimer une ligne d'un fichier texte en ligne de commande.
En gros je veux supprime la ligne (et il n'y aura qu'une unique ligne, vérification en amont) qui contient le mot
"mon mot" du fichier "texte.txt"
Que faire merci ...
Salut,
je souhaite supprimer une ligne d'un fichier texte en ligne de commande.
En gros je veux supprime la ligne (et il n'y aura qu'une unique ligne, vérification en amont) qui contient le mot
"mon mot" du fichier "texte.txt"
Que faire merci ...
Tu peux faire
Attention, c'est violent : toutes les lignes contenant 'mot' seront enlevées. Mais apparemment tu as prévu un contrôle précédant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 grep -v mot myfile.txt > myfile_tmp.txt mv -f myfile_tmp.txt myfile.txt
Une autre solution consiste à utiliser perl pour faire le remplacement sur place :
Code : Sélectionner tout - Visualiser dans une fenêtre à part perl -i -ne "print if (not /mon_mot/)" mon_fichier.txt
sed -i -e '/MONMOT/d' fichier
Dans le doute, si jamais (on ne sait pas ) il y a plusieurs occurences de ton mot dans ton fichier, la commande suivante supprime seulement la premiere ligne qui contient le mot, et ne touche pas aux autres :
edit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part sed -ie '0,/mon_mot/{//d;}' mon_fichier
ca ne marche qu'avec un sed 'GNU'. Si ton sed ne l'est pas, il existe une autre solution, mais elle fait dresser les cheveux sur la tête...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager