我写了以下管道:
for i in `ls c*.txt | sort -V`; do echo $i; grep -v '#' ${i%???}_c_new.txt | grep -v 'seq-name' | cut -f 6 | grep -o '[0-9]*' | awk '{s+=$1} END {print s}'; done
现在,我想取第6列(cut -f 6及更高版本的代码)只有那些与第13列中某些grep匹配的行。
这些:
cut -f 13 | grep -o '^A$'
因此,我查看第13列,如果grep匹配,那么我将使用此行并生成其余代码 - 计算第6列中的数字总和。
拜托,我该怎么办?感谢。
答案 0 :(得分:1)
创建一个grep命令,它将采用未切割的行并按第13个字段过滤,如
grep -E '(\S+\s+){12}A\s'
然后将其传递给cut -f 6
,依此类推。