如何在 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
.
或者,您可以在 shell 中执行此操作:
for f in *.dat*; do echo mv -- "$f" "${f%.dat*}.dat"; done
再次,如果这满足您的需要,请删除echo
并再次运行它。