кот Error00Как Grep два столбца из одного файла
4 0 375
4 2001 21
4 2002 20
кошка Error01
4 0 465
4 2001 12
4 2002 40
4 2016 1
Я хочу, чтобы результат, как показано ниже
4 0 375 465
4 2001 21 12
4 2002 20 20
4 2016 - 1
я использую ниже запрос. здесь проблема заключается в том, что я не могу обрабатывать grep для двух полей, потому что пространство приближается. , пожалуйста, предложите, как можно избавиться от этого.
keylist=$(awk '{print $1,$2'} Error0[0-1] | sort | uniq)
for key in ${keylist} ; do
echo ${key}
val_a=$(grep "^${key}" Error00 | awk '{print $3}') ;val_a=${val_a:---}
val_b=$(grep "^${key}" Error01 | awk '{print $1,$2}') ; val_b=${val_b:--- --}
echo $key ${val_a} >>testreport
done
я м адресности в oputput ниже
4 375 465
0
4 21 12
2001
4 20 20
2002
4 - 1
2016
Есть несколько вопросов на этом сайте о том, как объединить два файла в Awk. Вы не объясняете, как получить желаемый результат (как представляется, нетривиальное переупорядочение полей ввода), поэтому трудно обеспечить фактический рабочий код. Пожалуйста, уточните это или получите что-то вроде 'awk '{k = $ 1": "$ 2} NR == FNR {a [k] = $ 3; b [k] = $ 4; ...следующий; } {печатать $ 1, $ 2, b [k], $ 7, a [k], ...} ''из более ранних вопросов. – tripleee