ファイル名のパターンに基づいて、ディレクトリ内のファイル全体ではなく一部のファイルをコピーする方法は?

ファイル名のパターンに基づいて、ディレクトリ内のファイル全体ではなく一部のファイルをコピーする方法は?

次のパターンに従って名前付きの長いファイルのリストがあります。

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ファイルを直接列挙できます。

# S905_S5_fasta.gz to S1205_S305_fasta.gz
mkdir new_directory
mv S{905..1205}_* new_directory

おすすめ記事