Извлечение конкретного значения из матрицы больших данных

Это можно сделать несколькими способами.

Один из способов — использоватьtput:

tput setab 4устанавливает синий цвет фона. Чтобы установить цвет переднего плана, используйте tput setaf.

Другой способ — использовать необработанные экраны ANSI, вот хорошая документация:https://misc.flogisoft.com/bash/tip_colors_and_formatting

0
13.03.2021, 16:29
1 ответ
$ 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
3
18.03.2021, 22:26

Теги

Похожие вопросы