Как вставить шаблон на основе ИМЯ ФАЙЛА с помощью awk

По-видимому, эта проблема решается путем открытия окна FileManager на рабочем столе, без которого./start.sh не может работать в окне терминала. Я не понимаю, почему это произошло, я наткнулся на это случайно, если кто-нибудь может пояснить, я был бы признателен. Спасибо

1
05.03.2021, 15:26
1 ответ
awk '
  !last && /LSD/{seen[FILENAME]=1; nextfile;}
  last{
    if (FNR<2) print
    else print $1 "\t" ( seen[$1".txt"] ? "OK" : "KO" )
  }
' *.txt last=1 A.tsv

Сначала Awk читает файлы txt, для которых lastне установлено, и ищет совпадение LSD. Если он найден, он помещает имя файла в массив seen(nextfile— это просто оптимизация ). Когда он достигает A.tsv, файл lastустанавливается, поэтому он печатает его заголовок и проверяет для каждой оставшейся строки, находится ли соответствующее имя файла в seen, добавляя <tab>OK, если да, и <tab>KO, если нет.

1
18.03.2021, 22:36

Теги

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