![使用 MV 重命名日志的问题](https://linux22.com/image/1468753/%E4%BD%BF%E7%94%A8%20MV%20%E9%87%8D%E5%91%BD%E5%90%8D%E6%97%A5%E5%BF%97%E7%9A%84%E9%97%AE%E9%A2%98.png)
我有创建的日志文件,log.2015-09-28T13-36-29
并且我正在尝试更改日志文件的名称以更好地适应 logrotate。
以下命令可以显示我需要重命名的文件:
ls log.$(date -d 'today' +'%Y-%m-%d')*
但是这个命令给我错误,说它找不到文件。
mv "log.$(date -d 'today' +'%Y-%m-%d')*" "(date -d 'today' +'%Y-%m-%d').log"
关于如何修复此命令,您有什么想法吗?或者有更好的方法吗?
答案1
您遇到的问题与命令的语法有关mv
。如果您暂时忘记了您正在尝试使用日期文件,则您的命令相当于:
mv file.a file.b file.c file.d
在这种情况下,不清楚哪个文件应该重命名为什么。
解决该问题的方法可能是使用命令遍历每个文件并重命名它 - 可能类似于:
for each in log.$(date -d 'today' +'%Y-%m-%d')*; do mv $each $(date -d
'today' +'%Y-%m-%d').log;done