Как соответствие другой столбец в файле 1 и file2 с awk?

escaped ( имеет особое значение в sed: он использовался для обратных ссылок . Для сравнения буквального значения (, просто используйте его без обратной косой черты: /VALUES ([0-9]/d!

Если вы пытаетесь найти совпадение с \(, то вместо этого используйте \: \\(

Побег (пробел) не имеет значения.

0
30.07.2014, 17:39
2 ответа

Попробуйте следующее:

$ awk 'FNR==NR{a[$2$3$5];next} ($5$4$(NF-1)) in a' file1 file2 
1 Jul 28 04:15 2014-07-28 id920767(group2)[attribute3 attribute4 .... attribute n] Tunneling: User with IP 10.111.8.25 connected
1 Jul 28 04:16 2014-07-28 ID926072(group3)[attribute1 attribute2] Tunneling:User with IP 10.111.8.12 connected
1
28.01.2020, 02:37
awk 'NR == FNR {t=($4 $5 $(NF-1));
  $1=$2=$3=$4=$5=X;
  $0=$0; $1=$1;
  sub(/].*$/, "]");
  a[t] = $0; next}
  ($3 $2 $5) in a {$4 = ($4 " " a[$3 $2 $5])}1' file2 file1
1
28.01.2020, 02:37

Теги

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