552 votes

Grep un onglet dans UNIX

Comment puis-je grep tab (\ t) dans les fichiers sur la plate-forme Unix?

488voto

unwind Points 181987

Si vous utilisez GNU grep, vous pouvez utiliser l'expression rationnelle Perl:

 $ grep -P '\t' *
 

461voto

antimirov Points 944

L'astuce consiste à utiliser $ signe avant guillemets simples . Il fonctionne également pour les outils coupés et autres.

 $ grep $'\t' sample.txt
 

104voto

SamK Points 617

Je n'ai jamais réussi à faire fonctionner le métacharacter '\ t' avec grep. Cependant j'ai trouvé deux solutions alternatives:

  1. En utilisant <Ctrl-V> <TAB> (en appuyant sur Ctrl-V puis en tapant l'onglet)
  2. Utiliser awk: foo | awk '/\t/'

38voto

tjmoore Points 567

Une façon est (c'est avec bash)

 grep -P '\t'
 

-P active les expressions régulières de Perl pour fonctionner.

Edit: battu :), mais comme on le dit, cela peut être spécifique à GNU grep. L'alternative est d'insérer littéralement un onglet là-bas si le shell, l'éditeur ou le terminal le permet.

8voto

vanjoe Points 136

Utilisez echo pour insérer l'onglet pour vous grep "$(echo -e \\t)"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X