2 votes

Existe-t-il un outil qui émet un signal sonore et qui met en évidence les lignes correspondantes qui passent dans l'appareil, tout en affichant tout ce qui se trouve dans l'appareil ?

Existe-t-il un outil qui me permette d'y faire passer la sortie d'un exécutable et de jouer un son ou, mieux encore, de mettre en évidence la ligne où se trouve une phrase sélectionnée ?

Je veux être capable de faire quelque chose comme ça :

./myProgWithLotsOfOutput  | ./myMysteryTool blahUsefulWord

et faire apparaître toute la sortie et la faire défiler, mais chaque fois que "blahUsefulWord" apparaît, la console émet un bip et met en évidence cette ligne.

C'est une sorte de mélange de tee y grep . Sinon, avez-vous les compétences BASH pour créer quelque chose comme ça ?

2voto

Damian Powell Points 315

Pour Bash >= version 3.2 :

regex='some regex pattern'
highlight=$(tput setaf 2) # green, use setab to do inverse instead of foreground
off=$(tput sgr0)
while read line
do
    [[ $line =~ $regex ]] && echo -n $'\07'"$highlight"
    echo "$line$off"
done

Il met en évidence l'ensemble de la ligne plutôt que seulement la correspondance.

1voto

En se basant sur ceci QUESTIONS ET RÉPONSES J'ai créé la fonction suivante :

# mylite since 'highlight' is already a program
function mylite () {
    pattern=$1; shift; file=$1
    grep -E --color "$pattern|$" $file
}

Exemples d'utilisation :

mylite pattern file.txt
cat file.txt | mylite pattern

Pas de bip dans cet exemple, mais je suis sûr que cela peut être ajouté en modifiant grep comme le montrent les autres réponses de cette page.

0voto

Lark Points 1640

Je me suis trompé dans la réponse. J'ai essayé ça :

PATTERN="something"
export GREP_COLOR='1;37;41' # set to a sequence of xterm escape sequences for colorization.
export GREP_OPTIONS=--color=always

while read LINE
do
    echo $LINE | grep $PATTERN || echo $LINE
done

0voto

DisgruntledGoat Points 21368

Quelque chose comme journal de bord peut être ce que vous recherchez.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X