Как обрабатывать 3 файла с помощью awk?
Итак, потратив 2 дня, я не могу решить эту проблему, и у меня почти не осталось времени. Это может быть очень глупый вопрос, поэтому, пожалуйста, потерпите меня. Мой скрипт awk делает что-то вроде этого:
BEGIN{ n=50; i=n; }
FNR==NR {
# Read file-1, which has just 1 column
ids[$1]=int(i++/n);
next
}
{
# Read file-2 which has 4 columns
# Do something
next
}
END {...}
Работает нормально. Но теперь я хочу расширить его, чтобы прочитать 3 файла. Допустим, вместо жесткого кодирования значения «n» мне нужно прочитать файл свойств и установить из него значение «n». я нашелэтот вопрос и попробовал что-то вроде этого:
BEGIN{ n=0; i=0; }
FNR==NR {
# Block A
# Try to read file-0
next
}
{
# Block B
# Read file-1, which has just 1 column
next
}
{
# Block C
# Read file-2 which has 4 columns
# Do something
next
}
END {...}
Но это не работает. Блок A выполняется для файла 0, я могу прочитать свойство из файлов свойств. Но Блок B выполняется для файлов file-1 и file-2. И Блок С никогда не выполняется.
Может кто-нибудь, пожалуйста, помогите мне решить это? Я никогда не использовал awk раньше, и синтаксис очень запутанный. Также, если кто-то может объяснить, как awk читает входные данные из разных файлов, это будет очень полезно.
Пожалуйста, дайте мне знать, если мне нужно добавить больше деталей к вопросу.