Попросите программу, которая производит эти цвета, остановиться или удалите эти цвета сами:
sed "s,\x1B\[[0-9;]*[a-zA-Z],,g"
^ У меня это есть в исполняемом файле с именем uncolor
, так что я могу сделать:
aProgramThatWontStopColoring | uncolor
awk
решение. Найдите строку с eth, за которой следует число, за которым следует :, а затем распечатайте соответствующие столбцы.
$ ip a s | awk '/eth[0-9]*:/{print $2,$4,$5,$8,$9}'
eth0: mtu 1460 state UP
$
sed
решение, хотя кто-то укажет, что есть более приятный + более короткий путь.
$ ip a s | sed -n 's/^.*\(eth[0-9]*:\).*\(mtu [0-9]*\).*\(state [A-Z]*\).*/\1 \2 \3/p'
eth0: mtu 1460 state UP
$
grep
+ cut
раствор.
$ ip a s | grep -E 'eth[0-9]+:' | cut -f2,4,5,8,9 -d" "
eth0: mtu 1460 state UP
$