ファイル名からタイムスタンプを削除するために、Linuxで次のファイルの名前を変更するにはどうすればよいですか?
AB_CD_EFGHIKL_20191221_D_1.dat.20191221102446_processed
AB_CD_EFGHIKLMN_20191221_D_1.dat.20191221102428_processed
ファイル名を次のように変更したいと思います。
AB_CD_EFGHIKL_20191221_D_1.dat
AB_CD_EFGHIKLMN_20191221_D_1.dat
答え1
perl-rename
(rename
Debian、Ubuntu、その他多くのシステムで呼び出されます)場合は、次のことができます。
rename -n 's/dat\.\d+_processed/dat/' *.dat*
これ-n
により、実際に名前を変更せずに変更のみを印刷できます。うまくいけば-n
。
または、シェルで次のことを実行できます。
for f in *.dat*; do echo mv -- "$f" "${f%.dat*}.dat"; done
もう一度、これがあなたのニーズに合っている場合は、削除してecho
もう一度実行してください。