Как превратить таблицу, разделенную вкладками -, в разделы с тегами с помощью инструментов командной строки?

Чтобы определить, расширяется ли шаблон имени файла во что-либо, вы можете использовать

set -- "$gp_path"ALLSTUFF*.zip

if [ -e "$1" ]; then
    echo matched something
else
    echo did not match anything
    exit 1
fi

Команда setустанавливает позиционные параметры для имен файлов, соответствующих шаблону, и если первое совпадающее имя файла существует, то оно соответствует чему-то. Шаблон остается нераскрытым, если он ничему не соответствует.

Это можно использовать в ksh, bashи любой другойsh-подобной оболочке.

-1
28.03.2021, 19:44
2 ответа

Если приведенная выше таблица находится в файле с именемtable:

$ awk 'NR==1 { for (i=1;i<=NF;i++) header[i]=$i }
       NR>2  { for (i=1;i<=NF;i++) print header[i] ": " $i
               print ""}' table

Заголовки собираются в первой строке. Вторая строка пропущена. Остальные строки печатаются, как показано.

Это не очень элегантно, но, я думаю, работает.

4
28.04.2021, 22:55
$ cat tst.awk
BEGIN { OFS="\n"; ORS="\n\n" }
NR == 1 { split($0,tags) }
NR > 2 {
    for (i=1; i<=NF; i++) {
        printf "%s: %s%s", tags[i], $i, (i<NF ? OFS : ORS)
    }
}

$ awk -f tst.awk file
Column_A: value-1a
Column_B: value-1b
Column_C: value-1c

Column_A: value-2a
Column_B: value-2b
Column_C: value-2c
2
28.04.2021, 22:55

Теги

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