私のソフトウェアで処理したときに別の名前で表示されるファイルセットがあります(プロセスが正常に完了したことを示します)。
たとえば、入力ファイルはSAM111_tsta.fastqを読み取り、SAM111_tstaAligned.SortbyCoord.bamに出力できます。
コマンドラインでディレクトリを再帰的にフィルタリングし、「Aligned.SortbyCoord.bam」を含むすべてのファイルを見つけて「Aligned.SortbyCoord」のみを削除して「SAM111_tsta」で終わる方法があるかどうか疑問に思います。おじさん?
ベストアンサー1
次のようなものを見つけるとこれ。次のことができる必要があります。
find dir -name '*_tstaAligned.SortbyCoord.bam' -exec bash -c 'mv "$0" "${0/_tstaAligned.SortbyCoord.bam/_tsta.bam}"' "{}" \;
bashを使用しても、で終わる${var//find_all/substitute_with_this}
ファイルのみが一致します。 (おそらくそうではありません。)_tstaAligned.SortbyCoord.bam
find
_tstaAligned.SortbyCoord.bam
テストするには:
find dir -name '*tstaAligned.SortbyCoord.bam' -exec bash -c 'printf "mv \"%s\" \"%s\"\n" "$0" "${0/_tstaAligned.SortbyCoord.bam/_tsta.bam}"' "{}" \;