Stavo provando a fare una semplice grep - solo-matching su "height = xxx", e il risultato è abbastanza strano come mostrato sullo screenshot.
Qualcuno sa di cosa si tratta?
GNU bash, versione 3.2.57 (1) -release (x86_64-apple-darwin17) Copyright (C) 2007 Free Software Foundation, Inc.
risposte:
1 per risposta № 1Probabilmente attraverso alcuni alias, il tuo sistema impone grep
uscita per essere a colori. Non farlo.
Sul mio sistema, il codice produce l'output corretto:
$ echo "$value" | grep -Eo "height=[0-9]+" | grep -Eo "[0-9]+"
532
Se, tuttavia, forzo il colore, allora vedo l'output che vedi:
$ echo "$value" | grep -Eo --color=always "height=[0-9]+" | grep -Eo "[0-9]+"
01
31
532
Non forzare il colore È normale che uno o più file di inizializzazione bash impostino gli alias per rendere più piacevole l'uso interattivo dei comandi. --color=always
con --color=auto
.