web-dev-qa-db-fra.com

Comment supprimez-vous toutes les lignes qui commencent par "chaîne" dans unix sh?

Comment supprimer toutes les lignes d'un fichier commençant par "chaîne" dans sh? Je pensais utiliser la commande sed.

27
t3hcakeman
grep -v '^string' yourfile.txt > stripped.txt
31
Marc B

Pour le faire en place, si votre sed prend en charge l'option -i, vous pouvez faire:

 sed -i '/ ^ string/d' fichier-d'entrée 
27
William Pursell

Vous pouvez utiliser Vim en mode Ex:

ex -sc g/^string/d -cx file
  1. g sélectionne toutes les lignes correspondantes

  2. d supprimer

  3. x enregistrer et fermer

0
Steven Penny

sed et grep dans vos réponses manquent leur ami awk:

awk '!/^string/' inputfile > resultfile
0
Kent