複数のディレクトリの同じファイル名:単一のコマンドで同時に別の名前を割り当てる方法は?

複数のディレクトリの同じファイル名:単一のコマンドで同時に別の名前を割り当てる方法は?

私は23の異なるディレクトリを持ち、各ディレクトリにallowed_hits.bamというファイルがあります。

したがって、各ディレクトリに一意の名前を生成する必要があります。例: ディレクトリ 1 の場合 accept_hits.bam_1 ディレクトリ 2 の場合 allowed_hits.bam_2

これを23回繰り返します。 1つのコマンドでこれを行う簡単な方法はありますか?

ベストアンサー1

そしてbashfind

find . -type f -name accepted_hits.bam -exec bash -c \
'i=0; for f; do (( ++i )); mv -- "$f" "${f}_$i"; done' _ {} +

おすすめ記事