如何重命名目录中的所有文件

时间:2018-08-30 16:47:07

标签: shell unix

我有test.log.1,test.log.2,test.log.3等文件。

我想在每个文件的末尾附加日期并重命名。

如何进行?

2 个答案:

答案 0 :(得分:0)

尚不清楚您的要求是什么,但希望这足以使您入门。

Bash将扩展全局名称列表,因此您可以直接对其进行迭代。 $('body').scrollspy({ target: '#menuSpy' }); 对于当前目录中的所有文件,*可能更特定于您的文件。

test.log.*将打印出当前日期,您可以使用date以bash格式捕获命令的输出。

$(...)

在编写这样的循环以将for f in test.log.*; do mv "$f" "$f.$(date -I)" done 粘贴在命令前面时非常有用,这样它可以打印出它们而不是运行它们,并且您可以在运行之前确认它会按照您的期望去做真的。

运行此命令,看看命令是否如您所愿:

echo

答案 1 :(得分:0)

我无法理解您的要求。输出格式是什么?希望下面的命令能帮助您将日期附加到文件末尾。

初始文件名

enter image description here

rename "s/$/$(date +%Y%m%d)/" *

更新的文件名

enter image description here

“重命名”根据指定为第一个参数的规则重命名提供的文件名。 在这里,我已经提到$作为第一个参数,因为我们需要在最后一个参数后面追加。 (^是第一个字符)