4

次の #! を使用して、gawk の実行可能スクリプトを作成します。

#!/usr/bin/gawk -f

ただし、間隔の正規表現を有効にしたい場合は、--re-intervalまたは-W re-interval#!を追加できないようです。

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

コマンドライン引数なしでスクリプトにこのオプションを有効にする方法、または引数を入力して機能させるより良い方法はありますか?

それがあなたのソリューションにとって重要な場合、私はcygwinを使用しています

4

1 に答える 1

3

これは不可能です。理由と代替手段については、http://hibernia.jakma.org/~paul/awk-faq.html#script-argsを参照してください。

bang-path でオプションを AWK に渡すにはどうすればよいですか?

短い答えは、カーネルがスクリプトの名前を過ぎた bang-path を解析しないため、できないということです。行の残りの部分は、2 番目の引数で単一の文字列として渡されます。つまり、これは機能しません:

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

....awk スクリプト..

代わりに、次のようなシェル スクリプトを使用します。

#!/bin/bash

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

于 2011-03-04T22:18:20.197 に答える