如何在文件名中附加序列ID?

时间:2016-06-03 14:26:02

标签: bash fasta

我有数百个FASTA文件,并希望使用bash在文件名中添加第一个序列的完整标题。

实施例: 1.fas

> abc_files657_XXX

... ATCG

2.fas

> def_ID

... ACTG

我想要的是什么:

1_abc_files657_XXX.fas

2_def_ID.fas

我知道我可以使用:

  

用于* .fas中的文件;做..

......但这就是我所知道的。谢谢!

1 个答案:

答案 0 :(得分:0)

您想将所有.fas文件重命名为文件的第一行吗?

for file in *.fas; do
    [ -e "$file" ] || continue
    mv -- "$file" "$(head -1 -- "$file").fas"
done

例如:

% cat 1.fas
john_doe
..
more text
% cat 2.fas
jane_baz

将成为:

john_doe.fas
jane_baz.fas