我需要计算包含以下信息的文件行。
如果可能,我需要在一个命令中使用它。 我尝试了以下方法:
cut -c 1-2,54 $ filename | grep -e 210 -e 216
这给了我前两个条件。 我不知道如何获得匹配的第三个条件。 如果我做这样的事情:
cut -c 1-2,54,57-58 $ filename | grep -e 210 -e 216
然后我得到的22160
类似于模式,这是不正确的。
我该如何做到这一点?
答案 0 :(得分:0)
我认为您可以使用awk
来实现目标。
awk '(substr($0,1,2)==21 && (substr($0,54,1)==0 || substr($0,54,1)==6) && substr($0,57,2)>49 ){count=count+1} END{print count==""?0:count}' Your_file
简要说明,
substr($0,s,l)
:从$0
开始提取s
的子字符串,其长度为l