我有包含许多行的文本文件,其中一些以“>”开头(这是一个所谓的 *.fasta 文件,“>”s 标志着一个新信息容器的开始):
>header_name1
sequence_info
>header_name2
sequence_info
Run Code Online (Sandbox Code Playgroud)
我想将这些行所在的文件名添加到标题中。例如,如果文件名为“1_nc.fasta”,则文件中以 > 开头的所有行都应添加标签“001”:
>001-header_name1
sequence_info
>001-header_name2
sequence_info
Run Code Online (Sandbox Code Playgroud)
有人给我提供了这条线:
sed 's/^>/>001-/g' 1_nc.fasta>001_tagged.fasta
Run Code Online (Sandbox Code Playgroud)
因此,2_nc.fasta 中的所有标题都应以“002-”、3_nc.fasta -> “003-”等开头。
我知道如何编写并行作业脚本,但作业完成得如此之快,我认为在循环中串行处理所有文件的脚本要好得多。不幸的是,我不能自己做到这一点。
添加扭曲:11_nc.fasta 和 149_nc.fasta 不可用。
如何遍历我目录中的所有 500 个文件?