なぜ動作しないのか

なぜ動作しないのか

次の名前のファイルが100個以上あります。

x.assembled.forward.fastq.gz
x(n).unassembled.reverse.fastq.gz

問題は、私が使用しているパイプがファイル名に「ドット」を許可しないことです。すべてを_次のように変更する必要があります。

x_assembled_forward.fastq.gz
x(n)_unassembled_reverse.fastq.gz

簡単なコマンドを使えば可能だと思います。

mv *.assembled.*.fast.gz  *_assembled_*.fastq.gz

....当然いいえ! :D

どうすればいいですか?

ベストアンサー1

すでにperl-renameインストールされている場合(renameDebian、Ubuntu、およびその他のDebian派生製品から呼び出されます)、次のことができます。

rename -n 's/\./_/g; s/_fastq_gz/.fastq.gz/' *fastq.gz

まず、すべてを.に変更し、_最後のもの_fastq_gzをに変更します.fastq.gz

これ-nにより、実際にファイル名を変更せずに変更のみを印刷できます。これがあなたの要件に合っていると確信している場合は、削除して-n実際に名前を変更してください。

rename  's/\./_/g; s/_fastq_gz/.fastq.gz/' *fastq.gz

おすすめ記事