1

我写了以下管道:

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

现在,我想只取那些与第 13 列中的某些 grep 匹配的行的第 6 列(cut -f 6 和更高版本的代码)。

这些:

cut -f 13 | grep -o '^A$'

因此,我查看第 13 列,如果 grep 匹配,则使用这一行并编写其余代码 - 计算第 6 列中数字的总和。

请问,我怎么能做这样的事情?谢谢。

4

1 回答 1

1

制作一个 grep 命令,它将采用未切割的行并按第 13 个字段过滤,例如

 grep -E '(\S+\s+){12}A\s'

然后通过管道将其传递给cut -f 6等等。

于 2012-06-21T13:30:12.767 回答