Ho bisogno di grep un'intera directory per una stringa e ottengo circa 50 risultati. Mi piacerebbe colorare ogni seconda linea, o il colore del testo o il colore dello sfondo. Il migliore sarebbe uno script in cui posso reindirizzare l'output di qualsiasi comando e in modo che sputa lo stesso output (anche se colorato).Un modo semplice per colorare le righe di output alternative in bash
risposta
Non molto bella, ma fa il trucco:
(salvare questo per foo.bash
e fare grep whatever wherever | ./foo.bash
)
#!/bin/bash
while read line
do
echo -e "\e[1;31m$line"
read line
echo -e "\e[1;32m$line"
done
echo -en "\e[0m"
Qui potete trovare il list of color codes in bash.
Perl è installato su molti sistemi. Si potrebbe avere alternativo per voi:
grep -r whatever somedir/ | perl -pe '$_ = "\033[1;29m$_\033[0m" if($. % 2)'
In Perl $.
può essere sostituito con $INPUT_LINE_NUMBER
, se si preferisce la leggibilità.
e qui è lo stesso in python;
import sys
for line_number,line in enumerate(sys.stdin.readlines()):
print '%s[1;3%dm%s%s[0m' % (chr(27),(line_number % 2+1),line,chr(27)),
Questo per delineare linee avvolte presumo? Questo script di shell utilizza un colore di sfondo dalla tavolozza 256 color, in modo da non interferire con altre evidenziazioni che potrebbe fare grep --color.
#!/bin/sh
c=0
while read line; do
[ $(($c%2)) -eq 1 ] && printf "\033[48;5;60m"
printf "%s\033[0m\n" "$line"
c=$(($c+1))
done
Questo ha l'avvertenza che rovesciano ecc all'interno della linea vengono alterati, quindi trattare questo come pseudo-codice per reimplementation
Hah , se avessi saputo di --color probabilmente non avrei avuto bisogno di questo, ma entrambi sono buoni. Grazie per la soluzione ponderata. – naught101
- 1. Colorare le righe in Vista NSTableview basata
- 2. Righe univoche in bash
- 3. SwingX JXTable: usa ColorHighlighter per colorare le righe in base a un "oggetto riga"
- 4. Un modo semplice per riordinare le colonne?
- 5. Tabelle di output Bash
- 6. Il modo più semplice per scambiare due file in bash
- 7. C'è un modo semplice per confrontare le istanze di BufferedImage?
- 8. C'è un modo per colorare commenti/codice in Sweave?
- 9. OpenCV: un metodo semplice per colorare un'immagine in scala di grigio
- 10. C'è un modo per colorare le schede di una tabpage in winforms?
- 11. C'è un modo per colorare il display della console di debug per iPhone in Xcode?
- 12. C'è un modo per riconoscere le righe vuote in Matlab?
- 13. Un modo semplice per inviare informazioni di debug alla finestra 'Output' di Visual Studio
- 14. Ottieni output a colori in bash
- 15. C'è un modo semplice per determinare se l'input dell'utente è un numero intero in bash?
- 16. Bash Script: contare le righe uniche nel file di
- 17. Abilita il colore di output bash con lo script Lua
- 18. Il modo più semplice per scrivere il messaggio di output su "finestra di output" in Visual Studio 2010?
- 19. python: serializza un dizionario in un semplice output html
- 20. Come parallelizzare le righe di lettura da un file di input quando le righe vengono elaborate in modo indipendente?
- 21. Un modo semplice per incrementare le variabili private?
- 22. Un modo semplice per disabilitare un UITextField?
- 23. Come colorare un pixel?
- 24. Qual è il modo più semplice per inserire un indice in un controllo ripetitore in .NET?
- 25. Proxy ordine tenuta output/error in bash
- 26. C'è un modo semplice per impostare nullglob per un glob
- 27. Output JSON da script Bash
- 28. Memorizza output grep in array bash
- 29. Motivi per usare le alternative lex/yacc?
- 30. Esiste un modo per eliminare tutte le righe di commento in Sublime Text 3?
Molto ordinato, può essere utilizzato anche come una funzione di evitare un secondo script. –
Mi piace, ma hai dimenticato di reimpostare in seguito: echo -en '\ e [0m'; – naught101
@ naught101 buon punto, risolto ora. – Kimvais