我有一个制表符分隔的文件,其标题行以#
开头。我要修剪所有标题行以及列#2
并非以0/0
开头的行。
我已经正确使用了第一个逻辑(删除标题行),但是当我使用AND
添加第二个逻辑(不确定是否是正确的方法)时,什么也没有返回。
awk -F$'\t' '/^[^#]/ && $2 !~ /^0\\/0/ {print;}' test.txt
输入文件
#meta1
#meta2
10 0/2:1/2
10 0/0:5/5
10 2/6:0/0
输出文件
10 0/2:1/2
10 2/6:0/0
答案 0 :(得分:3)
编辑: 由于OP更改了Input_file,因此也根据Ed ir的建议在注释中添加了解决方案。
awk '!(/^#/ || $2~/^0\/0/)' Input_file
请您尝试以下。
awk '!/^#meta/ && $2!="0/0"' Input_file
OR
awk '!/^#/ && $2!="0/0"' Input_file
OR
awk '!(/^#/ || $2=="0/0")' Input_file
SET BEGIN{FS=OFS="\t"}
,如果您的Input_file用TAB分隔并且您也需要将OFS
输出作为\t
TAB。