Это можно сделать несколькими способами.
Один из способов — использоватьtput
:
tput setab 4
устанавливает синий цвет фона. Чтобы установить цвет переднего плана, используйте tput setaf
.
Другой способ — использовать необработанные экраны ANSI, вот хорошая документация:https://misc.flogisoft.com/bash/tip_colors_and_formatting
$ cat tst.awk
BEGIN { FS=OFS="\t" }
FILENAME == ARGV[1] {
rowNames[$1]
next
}
FILENAME == ARGV[2] {
colNames[$1]
next
}
FNR == 1 {
rowNames[$1]
colNames[$1]
for (i=1; i<=NF; i++) {
if ($i in colNames) {
f[++numCols] = i
}
}
}
$1 in rowNames {
for (colNr=1; colNr<=numCols; colNr++) {
printf "%s%s", $(f[colNr]), (colNr<numCols ? OFS : ORS)
}
}
$ awk -f tst.awk file1.txt list.txt matrix.txt
Object 3mup_A_001_____ 456r_V_002_____
87t5_C_001_____ 0.35 0.254