Для заданного файла используйте AWK для печати столбцов, содержащих определенные шаблоны

Кажется, что NetworkManager автоматически повторно использует существующее соединение. Если в существующем соединении не сохранены какие-либо секреты, новая попытка подключения не обновит существующее соединение и завершится ошибкой из-за отсутствия секретов. Так что в моем случае эти шаги помогли:

nmcli con delete <SSID>

Затем повторно подключитесь с помощью

.
nmcli dev wifi connect <SSID> password <password>
1
24.11.2020, 06:44
1 ответ

Вот awkскрипт для этой задачи:

awk -F '\t' 'BEGIN {cols[1]}
    pass == 1 && $1 == "Group" {
        for (i=2;i<=NF;i++) if ($i ~ /[Uu]ntreated$/) cols[i]
        nextfile
    }
    pass == 2 {
        rec = ""
        for (i=1;i<=NF;i++) {
            if (i in cols) rec = (rec ? rec FS $i : $i)
        }
        print rec
    }' pass=1 file pass=2 file

На первом проходе мы ищем строку, начинающуюся с «Группа», и для этой строки мы сохраняем номера столбцов для полей, соответствующих нашему шаблону. И мы немедленно выходим из первого синтаксического анализа с помощьюnextfile.

При втором проходе мы печатаем только столбцы, хранящиеся в cols. Цикл для всех полей и создание строки для печати в переменную rec. Также здесь используется стандартное условное выражение .

Тестовый выход:

col1      col3           col5
ID        GPD1632        GPD2353
Group     GDS_Untreated  GDS_paired_Untreated
Measure1  8.2            4.2
Measure2  0.56           0.423
3
18.03.2021, 22:47

Теги

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