小编nou*_*use的帖子

围绕“sed”命令循环处理单个目录中的许多文件

我有包含许多行的文本文件,其中一些以“>”开头(这是一个所谓的 *.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 个文件?

command-line sed shell-script bioinformatics

3
推荐指数
1
解决办法
2943
查看次数

标签 统计

bioinformatics ×1

command-line ×1

sed ×1

shell-script ×1