我需要将 Linux 中的文件从 重命名date.time.filename
为filename
。
例子:
20170310.00.35.06.Samridhi
到Samridhi
答案1
filename
如果格式一致,您可以使用精确表达式删除日期和时间,那么无论它包含什么字符,您都会保留该部分。
rename -n 's/^\d{8}\.\d{2}\.\d{2}\.\d{2}\.//' *
测试后删除-n
以实际重命名文件。
笔记:
\d{8}
正好 8 位数字\.
文字.
感谢 @terdon 指出,在重命名中我们可以使用\d
来表示任何数字,而不是[0-9]
答案2
移动命令mv
就是您所需要的 - 它会将文件移动到另一个目录和/或重命名它(在同一目录中)。
因此,在包含文件的目录中,输入:
mv -vi 20170310.00.35.06.Samridhi Samridhi
。
该-v
选项将显示它正在执行的操作,-i
如果已存在同名文件,该选项将会发出警告,让您决定是否要覆盖它。
还有一个重命名命令,但如果您有很多文件需要按照某种模式更改其名称,这个命令会更有用。例如,文件名为 document.txt.001、document.txt.002、document.txt.003 ... document.txt.050 ;并且您希望文件名为 document-001.txt、document-002.txt 等等。