用于将每个文件的unix时间戳文件名转换为常规日期/时间的Shell脚本

时间:2018-02-12 16:34:22

标签: shell

我有一个包含大量文件的目录,其格式如下:

名为.tar.gz

我想用简单的shell脚本转换所有这些脚本并具有以下格式:

YY_MM_DD_H_M_S.tar.gz

我知道这可以通过日期-d @来实现,以便找到该时间戳的确切日期,并且它应该包含在更大的do-while中但我不知道如何替换实际的文件名(并应用于该目录中的所有文件)。

提前致谢!

2 个答案:

答案 0 :(得分:1)

 $ x=$(date +%Y_%m_%d_%H_%M_%S)
 $ rename .tar.gz _${x}.tar.gz *.tar.gz

这将重命名以下文件:

a.tar.gz
ez.tar.gz

a_2018_01_28_02_16_36.tar.gz
ez_2018_01_28_02_16_36.tar.gz

答案 1 :(得分:0)

事实上,我玩了一下并进入了这个解决方案 - 可能并不优雅,但它确实有效:

console.log(
  "2011 – June 2015".split(/[\-–—]/)
)