Je voudrais imprimer le contenu d’un fichier, mais toutes les lignes commençant par # je veux ignorer. J’essayais des trucs avec grep et awk, mais cela continuait à imprimer tout le fichier, ou simplement à imprimer les lignes commençant par #. Je pourrais vous donner un coup de pouce dans le bon sens, ou une commande grep / awk qui imprimerait n’importe quelle ligne du fichier qui ne commence pas par #.
Utilisez l’option -v
de grep
pour annuler la condition:
grep -v '^#' file
Vous pouvez utiliser le !
opérateur:
awk '!/^ *#/ { print; }'
Cela annule le résultat du match. J’ai également inclus des lignes qui commencent par des espaces, puis #, mais vous pouvez adapter la regex à votre guise.
Vous pouvez utiliser grep pour exclure toutes les lignes commençant par #
utilisant l’option -v
grep -v '^#' filename
Si vous êtes un fan de sed
:
sed '/^#/d' filename
Cela laisserait également de côté les lignes avec des espaces avant le #
:
awk '$1!~/^#/' file
ou
grep -v '^[[:blank:]]*#' file
Voici la méthode grep PCRE,
grep -P '^(?!#)' file