我有一长串根据以下模式命名的文件:
S901_S1_fastq.gz
S902_S2_fastq.gz
S903_S3_fastq.gz
S904_S4_fastq.gz
etc.
因为这些文件对应于不同的实验处理,所以我想将它们分成每个处理的目录。有没有办法移动说编号为 300 的文件
S905_S5_fasta.gz
。 。 。S1205_S305_fasta.gz
进入新目录?
我尝试使用for
下面的循环来执行此操作,但它没有起作用:
for i in 'seq 905 1205'; do
scp S${i}* Target_directory
done
该循环的结果如下:
cp: cannot stat 'Sseq': No such file or directory
cp: cannot stat '905': No such file or directory
cp: cannot stat '1205*': No such file or directory
任何帮助,将不胜感激!
答案1
如果您使用的是诸如bash
支持大括号扩展的 shell,您可以直接枚举文件:
# S905_S5_fasta.gz to S1205_S305_fasta.gz
mkdir new_directory
mv S{905..1205}_* new_directory