我试图让 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
我究竟做错了什么?