Existe-t-il une commande qui met en évidence une certaine expression dans le texte?
Je cherche quelque chose comme la fonction de recherche en moins, mais avec une sortie de texte normale sur stdout, au lieu de la less
visionneuse.
Exemple:
$ cat test.txt | highlight "an"
Les perspectives d' un retrait de l' OTAN ordonnée de Afgh un ist un a subi deux revers que le président Hamid Karzaï dem une limite ded les troupes des États-Unis un d l'Talib un arrêté des pourparlers de paix.
Il peut utiliser la couleur ou tout autre moyen pour mettre en surbrillance l'expression régulière spécifiée.
bash
highlighting
Franc
la source
la source
highlight
commandeRéponses:
Je ne sais pas si cela est dû à une fonctionnalité ou simplement à un effet secondaire caché, mais cela fonctionne dans GNU
grep
2.11:la source
grep 'an' OR ''
. Le''
ne correspond à rien à chaque emplacement de l'entrée. Seul lean
est mis en surbrillance, car vous ne pouvez pas mettre en surbrillance le rien. :-)grep --color -e 'an' -e ' '
(l'adaptation à un espace qui ne peut pas être coloré a fait l'affaire). Bien mieux que la tuyauteriesed -e ''/an/s//$(printf "\033[33;1m&\033[0m")/''
, mais ce dernier est peut-être plus performant. Modifiez «an» pour un autre terme de recherche. ;)bashrc
alias, et maintenant tous mes alias sont surlignés en rouge. Super!alias aliases="clear;cat ~/.bashrc|grep --color \"alias\""
ack a une
--passthru
option qui fera cela:la source
ack-grep
... (le nomack
est appliqué à un convertisseur de code Kanji)Vous pouvez essayer mon script. Il vous permettra soit de spécifier un fichier, soit de prendre une entrée standard. Vous pouvez définir une expression régulière Python pour le texte que vous souhaitez mettre en surbrillance. le texte en surbrillance est par défaut vert fluo (hé j'utilise un fond noir!) Mais vous pouvez changer le code couleur ANSI .
Voici un exemple.
Les perspectives d' un retrait de l' OTAN ordonnée de Afgh un ist un a subi deux revers que le président Hamid Karzaï dem une limite ded les troupes des États-Unis un d l'Talib un arrêté des pourparlers de paix.
Les perspectives d'un retrait ordonné de l' OTAN d' Afghanistan ont subi deux revers, le président Hamid Karzaï ayant demandé des limites aux troupes américaines et les talibans ayant interrompu les pourparlers de paix.
la source
<b>
si vous devez mettre en gras une partie d'un mot.$cat test.txt | grep --colour=auto -C 100000 an
la "couleur" fonctionne également. Vous pouvez également définir un alias pour que grep utilise toujours l'option:
alias grep='grep --colour=auto -C 100000'
Mettez ce qui précède dans /etc/profile.d/ quelque part ou dans votre .bashrc ou autre.
la source
-C 1000000
vous, vous ne pourrez plus jamais grogner. Fais justealias highlight='grep --colour=auto -C 1000000'. The cat in the first example is also not necessary:
Faites grep --colour = auto -C 100000 file`.grep
gérer la collection de lignes de contexte.)