GNU/Linux >> Tutoriels Linux >  >> Linux

À l'aide de Grep -récursif, comment exclure une ligne spécifique contenant le mot « non désiré » et « voulu » ?

Je suis en train de construire mes dotfiles et je veux lister tous les TODO: ... comments dans le répertoire de mon projet, j'ai créé un alias bash pour cela :

 alias mytodo='grep --recursive "TODO: "'

Cela fonctionne bien, cependant, il renvoie également la définition d'alias. ceci est l'exemple de sortie.

 [email protected]$ mytodo

 bash/profile.d/aliases/: alias mytodo='grep --recursive "TODO: "'
 bin/git_branch_status/: # TODO: Add checking of remote branch status.
 tools/setup/: # TODO: Add search for existing symlinks.

comment puis-je exclure spécifiquement cette ligne avec la définition d'alias ?

Réponse acceptée :

Une façon d'empêcher une expression rationnelle de se correspondre est d'inclure un seul caractère dans une classe de caractères :

alias mytodo='grep --recursive "TOD[O]: "'

Alternativement (coup de chapeau à Stéphane Chazelas), vous pouvez enregistrer l'alias avec des guillemets supplémentaires dans le modèle :

alias mytodo='grep --recursive "TO''DO: "'

Ensuite, la ligne ne sera toujours pas trouvée, mais l'alias contient le modèle d'origine. Ceci est utile lorsque vous souhaitez utiliser par exemple. une correspondance de chaîne fixe (grep -F ).


Linux
  1. Comment créer une base de données dans MySQL à l'aide de la ligne de commande

  2. Comment créer un alias et utiliser la commande Alias ​​sous Linux

  3. Comment mettre en surbrillance un mot dans la sortie de "cat" ? ?

  4. Linux - Comment Grep Pour Un Mot Spécifique Et Saisir Du Texte?

  5. Comment supprimer un préfixe de mot à l'aide de grep ?

Comment trouver une chaîne ou un mot spécifique dans les fichiers et les répertoires

Comment exclure des fichiers et des répertoires avec Rsync

Comment effectuer une recherche de modèle dans les fichiers à l'aide de Grep

Utilisation de la commande GREP sous Linux avec des exemples

Manipuler du texte en ligne de commande avec grep

Comment afficher la sortie Tail -f avec des couleurs en utilisant uniquement Awk et afficher le reste de la sortie?