我希望使用GREP或类似的东西来查找文件每行中5个字母序列(AATTC)的总匹配,然后将结果打印到新文件中。例如:
File 1:
GGGGGAATTCGAATTC
GGGGGAATTCGGGGGG
GGGGGAATTCCAATTC
然后在另一个文件中逐行打印匹配
File 2:
2
1
2
答案 0 :(得分:1)
Awk
解决方案:
awk '{ print gsub(/AATTC/,"") }' file1 > file2
gsub()
函数返回替换次数
$ cat file2
2
1
2
答案 1 :(得分:0)
如果必须使用grep
,请将其置于while循环中,
$ while read -r line; do grep -o 'AATTC'<<<"$line"|wc -l >> file2 ; done < file1
$ cat file2
2
1
2
另一种方式:使用perl
。
$ perl -ne 'print s/AATTC/x/g ."\n"' file1 > file2