我想打印第三個字段(由:分隔的字段)不以#開始的所有行(表示第三個字段是註釋)。請注意,在#和#之間可能存在空格。從某個文件打印的行不是從某個字段開始
示例輸入:
A:B:#hdfghdfg
A:B:#dfdfdfg
A:B:C
希望的輸出:
A:B :C
我試過了:
AWK -F: '$ 3〜/ ^#/ {打印}' run_out5> run_out6
,但它不工作
感謝,
Jagrati
我想打印第三個字段(由:分隔的字段)不以#開始的所有行(表示第三個字段是註釋)。請注意,在#和#之間可能存在空格。從某個文件打印的行不是從某個字段開始
示例輸入:
A:B:#hdfghdfg
A:B:#dfdfdfg
A:B:C
希望的輸出:
A:B :C
我試過了:
AWK -F: '$ 3〜/ ^#/ {打印}' run_out5> run_out6
,但它不工作
感謝,
Jagrati
正則表達式可能是一個很小的位清潔:
awk -F: '$3 !~ /^ ?#/ { print }'
通常最好期待重複空格(空格或製表符),而不是一個空格字符,它可以看看IDE印刷輸出的ntical。
awk -F: '$3 !~ /^[[:space:]]*#/ { print }'
使用!~
選擇與正則表達式不匹配的行。
調整正則表達式,以便它將字段與前導空格匹配。
awk -F : '$3 !~ /^ *#/ {print}'