我正在尝试批量重命名当前文件夹中带有日期后缀的所有文件:
rename 's/(.*)/$1_$(date +%F)/' *
但该命令将 info.txt
重命名为 info.txt_1000 4 24 27 30 46 113 128 1000date +%F)
。我希望结果为 info.txt_2016-10-13
最佳答案
您希望将 $1
按字面意思传递给 rename
,同时让 $(date +%F)
由 shell 展开。当您使用单引号时,后者不会发生,只有使用双引号时才会发生。解决方案是使用双引号并转义 $1
,这样 shell 就不会展开它。
rename "s/(.*)/\$1_$(date +%F)/" *
关于linux - 在 Unix 中以当前日期为后缀批量重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40032033/