7
パターンと同じ動作をして、入力レコードの一部にアクセスすることがよくあります。一致したグループにアクセスする方法はありますか?
/^Compiled from \"(.*)\"$/ {
file_name = gensub("^Compiled from \"(.*)\"$", "\\1", "g");
print file_name;
}
したがって、正規表現マッチングは2回実行されます。もう一度マッチングすることなく、アクションで\\1
にアクセスする方法はありますか?
私はパターンマッチングと余分なコードの両方を減らそうとしています。
は思わ:http://stackoverflow.com/questions/2957684/awk-access-captured-group-from-line-pattern – Slartibartfast
@Slartibartfastことができます。私は投稿する前にその質問を見つけられなかったので、ありがとう。それでも、[これ(http://stackoverflow.com/a/4673336/18573)の回答として、私は 'match($ 0 ....')を使用しなければなりません。実際にはまだ –