我写这段代码:如何忽略空白行和注释行用awk
awk -F'=' '!/^$/{arr[$1]=$2}END{for (x in arr) {print x"="arr[x]}}' 1.txt 2.txt
该代码忽略空行,但我也想忽略开头的行#(注释)。
任何想法如何添加多个模式?
我写这段代码:如何忽略空白行和注释行用awk
awk -F'=' '!/^$/{arr[$1]=$2}END{for (x in arr) {print x"="arr[x]}}' 1.txt 2.txt
该代码忽略空行,但我也想忽略开头的行#(注释)。
任何想法如何添加多个模式?
变化!/^$/
到
!/^($|#)/
或
!/^($|[:space:]*#)/
如果你想
#
之前忽略空格
。
awk 'NF && !/^[:space:]*#/' data.txt
因为 '[:空间:] *' 捕捉无或多个空格。
这件作品魅力,谢谢。 – phani
这不应该工作! ''(''不需要在awk EREs中被转义,所以这应该是抑制以字符串'($ |#)'开头的行在这个实际工作中awk的版本是什么? –
@WilliamPursell:我错误地编辑它有逃跑OP正在测试它,我已经编辑它回到正确的,原始版本 – chaos