Включить повторный интервал в скрипте gawk - PullRequest
4 голосов
/ 05 марта 2011

Я создаю исполняемые сценарии для gawk, используя следующие #!:

#!/usr/bin/gawk -f

Однако, если я хочу включить интервальные регулярные выражения, я не могу добавить --re-interval или -W re-interval в #!.

#!/usr/bin/gawk --re-interval -f<br>#Above doesn't work

Есть ли способ заставить скрипт активировать эту опцию без аргументов командной строки, или лучший способ ввести аргументы так,это работает?

Я использую Cygwin, если это имеет значение для вашего решения

1 Ответ

3 голосов
/ 05 марта 2011

Это невозможно. См. http://hibernia.jakma.org/~paul/awk-faq.html#script-args для объяснения причины и альтернативы.

Как передать параметры в AWK в бах-путь?

Короткий ответ: ты не можешь, потому что ядро ​​не будет анализировать пробел мимо имени скрипта. Остальная часть строки передается как одна строка, во втором аргументе. То есть это не сработает:

#!/path/to/gawk --posix --re-interval -f

.... скрипт awk ..

Вместо этого используйте сценарий оболочки, например ::

#!/bin/bash

gawk --posix --re-interval -v foo=$1 ' BEGIN { print foo } '

...