【发布时间】:2019-07-25 15:56:05
【问题描述】:
所以我使用的是 MacOS 命令行并有两个文件
文件 A.txt
A
B
F
文件 B.txt
>A
abcde
>B
efghi
>C
jklmn
>D
opqrs
>E
tuvwx
>F
yz123
我希望它通过文件 A.txt 进行 while 循环,并且只打印文件 B.txt 中的相应标题和内容
>A
abcde
>B
efghi
>F
yz123
当我单独浏览文件 A 中的每一行时,此行有效。
grep -n "\A\,\>\{x;p;}" B.txt
但是当我这样做时:
While read i; do grep -n "\$i\,\>\{x;p;}" B.txt >> newfile.txt; done < A.txt
我收到此错误:
grep: invalid repetition count(s)
我做错了什么?
【问题讨论】:
-
@tripleee 让我们开始一个项目以便于处理 fasta 文件。这种格式似乎被广泛使用,除了 grep、sed、awk 之外没有其他工具。考虑到它的用途,这实际上吓到了(我):)
-
真的是
grep吗?grep -n "\A\,\>\{x;p;}" B.txt看起来应该是sed -n "\A\,\>\{x;p;}" B.txt -
嗨@tripleee - 成功了!
-
和 @hek2mgl - 这将非常有帮助。寻找答案和我的谷歌搜索一样好。非常感谢你们的帮助。
-
@hek2mgl 问题不在于缺乏工具,他们有 BioPerl、BioPython 等……只是生物技术人员通常只是学习基本的 U*x。