Как использовать несколько аргументов для awk с помощью shebang (т.е. #!)?

Я хотел бы выполнить сценарий gawk с - re-interval используя шебанг. «Наивный» подход

#!/usr/bin/gawk --re-interval -f
... awk script goes here

не работает, так как gawk вызывается с первым аргументом «- re-interval -f» (не разбитым вокруг пробелов), который он не понимает. Есть ли обходной путь для этого?

Конечно, вы можете либо не вызывать gawk напрямую, а обернуть его в сценарий оболочки, который разделяет первый аргумент, либо создать сценарий оболочки, который затем вызывает gawk и помещает сценарий в другой файл, но Мне было интересно, есть ли способ сделать это в одном файле.

Поведение строк shebang отличается от системы к системе - по крайней мере, в Cygwin аргументы не разбиваются на пробелы. Меня просто волнует, как это сделать в системе, которая ведет себя подобным образом; сценарий не предназначен для переносимости.

114
задан sanmai 6 October 2017 в 03:03
поделиться