Проблема с параллельной реализацией awk заключается в том, что семантика явно предполагает, что операции обрабатываются по порядку. Например:
awk '{print NR, $0}'
дает вам вывод, похожий на cat -n
. Трудность параллельной обработки состоит в том, что NR - это общее количество обработанных строк, а не только количество строк в данном файле (FNR
)
Кроме того, существуют более сложные приемы, включающие такие команды, как getline, которые нельзя распараллелить (например, скрипт может быть закорочен для эмуляции расширения gnu nextfile
)