我有数百个FASTA文件,并希望使用bash在文件名中添加第一个序列的完整标题。
实施例: 1.fas
> abc_files657_XXX
... ATCG
2.fas
> def_ID
... ACTG
我想要的是什么:
1_abc_files657_XXX.fas
2_def_ID.fas
我知道我可以使用:
用于* .fas中的文件;做..
......但这就是我所知道的。谢谢!
答案 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