我正在写这个代码:
awk -F'=' '!/^$/{arr[$1]=$2}END{for (x in arr) {print x"="arr[x]}}' 1.txt 2.txt
这段代码忽略空白行,但我也想忽略#(注释)开始的行。
任何想法如何添加多个模式?
更改!/^$/
到
!/^($|#)/
要么
!/^($|[:space:]*#)/
如果你想在#
之前忽略空格。
awk 'NF && $1!~/^#/' data.txt
将打印所有非空行(字段数NF
不为零)和不包含#
作为第一个字段。
它将正确处理一行空白,因为NF将为零,而自$1
空白将忽略它们。
awk 'NF && !/^[:space:]*#/' data.txt
因为'[:space:] *' 没有捕获任何空间。