Обработка с двумя файлами в awk

У меня есть файл:

result.txt

Apple fruits 10 20 30
Car  vehicle 40 50 60
Book study  70 80 90

Примите здесь 2nd column is a feature, 3rd column is Min, 4th column is Median, 5th column is Max. У меня есть другой файл config.txt, который содержит свойство для каждой функции т.е.

config.txt

fruits Max
vehicle Median
study Min

Таким образом, я хочу записать сценарий, который показывает только, что номер столбца для функции, которая определяется в config.txt файл.

Ожидаемый вывод:

Apple fruits 30
Car vehicle 50
Book study 70

Я перехожу по этой ссылке https://stackoverflow.com/a/40206489/10220825. Здесь, что я попробовал:

awk 'FNR==NR{arr[$2];next} $1 in arr {var =$2;print var}' result.txt config.txt

Я могу способный содержать свойство (как Минута, Max, Медиана) в переменной для соответствующей функции, определенной в result.txt, но не способный отобразить столбец для той переменной. Предложите меня подход к тому, как распечатать столбец для соответствующего столбца.

1
задан 19 February 2019 в 14:37

1 ответ

Необходимо отобразить имена функции в config.txt файл к полевым индексам в result.txt файл, например.

awk '
  BEGIN {ind["Min"]=3; ind["Median"]=4; ind["Max"]=5} 
  NR==FNR {arr[$1] = ind[$2]; next} 
  $2 in arr {print $1,$2,$(arr[$2])}
' config.txt result.txt
Apple fruits 30
Car vehicle 50
Book study 70
0
ответ дан 7 December 2019 в 21:19

Другие вопросы по тегам:

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