我需要从多个目录中复制一个特定的命名文件,并且需要在文件前缀中按顺序添加数字。例如,我有以下目录,gene1, gene2, gene3 ..... gene100
每个目录都有一个文件,即protein.fasta
. 我需要protein.fasta
从每个目录中复制所有文件并粘贴到另一个目录中,即输出。我尝试了以下脚本,但该脚本不符合我的目的,它只复制和粘贴一个文件,其余文件没有被复制和重命名,最终出现错误。请帮助我做同样的事情。
a=1
for i in **/protein.fasta
do
cp "$i" "$a"_"$i" output/
a=`expr $a + 1`
done
下面给出了详细的示例和预期的输出,目录
gene1, gene2, gene3....gene100
要从每个文件中提取的文件是protein.fasta
output
目录中的预期输出
1_protein.fasta
2_protein.fasta
3_protein.fasta
.
.
100_protein.fasta
先感谢您。
您应该能够遍历目录并从当前目录名称中删除
gene
前缀以用作目标文件名的前缀:echo
一旦您对它正在做正确的事情感到满意,请删除它。我想也许你想用来
basename
从文件名中删除目录?