awk に特定の情報のみを出力させようとしています。単純な文字列だけなら作れます。しかし、次のような検索と印刷を依頼すると機能しません。
/[0-9]*\.[0-9]*\.[0-9]*\.[0-99]*\.[0-999]*/
IP アドレスのように、ドットで区切られた数字を探しています。例えば:
#.#.#.##.### where #=integer
例えば:
これは印刷のみTEXT
で、正常に機能します。
awk '{for(i=1;i<=NF;i++){ if($i==“TEXT”){print $i} } }' source.txt > result.txt
これは必要なものを出力するはずですが、機能しません。
awk '{for(i=1;i<=NF;i++){ if($i==“/[0-9]*\.[0-9]*\.[0-9]*\.[0-99]*\.[0-999]*/”){print $i} } }' source.txt > result.txt
これは問題なく動作しますが、必要なものだけでなく、行全体を出力します。
awk -F"\t" '/[0-9]*\.[0-9]*\.[0-9]*\.[0-99]*\.[0-999]*/{ print }' source.txt > result.txt
私は何を間違っていますか?