Сопоставление значений и вывод суммы на основе повторяемости в awk

В первый раз, когда пользователь root имеет тот же пароль, что и пользователь, созданный в процессе установки, чтобы изменить пароль root, вы должны открыть терминал и ввести su root, а затем ввести пароль пользователя, созданного во время установки. сообщение «Срок действия пароля для пользователя root истек», затем введите новый пароль

1
05.12.2016, 20:58
2 ответа

Как насчет

awk -F, 'NR == FNR {l [$ 4] = $ 0; следующий} {print l [$ 1] "," $ 2 "," $ 3} 'file1 file2

1-й блок NR == FNR {l [$ 4] = $ 0; next} активен, пока читается первый файл, и помещает всю строку в ассоциативный массив с именем l , используя 4-е поле в качестве ключа. next вызывает пропуск следующих инструкций для этой строки.

2-й блок {print l [$ 1] "," $ 2 "," $ 3} активен только при чтении второго файла и использует ключ, указанный в 1-м столбце файла 2 для поиска вся сохраненная строка из файла1. Это вместе с двумя запятыми и полями $ 2 и $ 3 из файла 2 затем распечатывается.

0
28.01.2020, 01:06

Соединение двух файлов по общему полю, которое является типичной задачей для команды join , позвольте мне ответить чем-то другим, кроме awk. Это код bash :

join -t, -1 4 -2 1 -o 1.1,1.2,1.3,1.4,1.5,1.6,2.2,2.3 <(sort -t, -k4 file1.csv) <(sort -t, -k1 file2.csv)
0
28.01.2020, 01:06

Теги

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