将相同的时间戳附加到多个文件名

将相同的时间戳附加到多个文件名

我每小时都会通过 ftp 传送几个文件。接收系统需要具有某种来自同一批次的标识符,因此我想在文件名中附加一个时间戳。仅此一点就相当简单,但由于我希望每个文件具有相同的时间戳(因此它可以用作批处理标识符),所以我不知道如何执行此操作。

所以我有:

file1.txt
file2.txt
file3.txt

我想要:

file1_20141110184303.txt
file2_20141110184303.txt
file3_20141110184303.txt

第一次使用后的任何使用date +%Y%m%d%H%M%S显然都会导致以秒为单位的不同值,因此我希望将第一个时间戳附加到其余文件中。

答案1

只需将 的值存储date +%Y%m%d%H%M%S在变量中即可:

x=$(date +%Y%m%d%H%M%S)

以及后来

mv file1 file1_$x.txt
mv file2 file2_$x.txt
...

*.txt或在所有文件的循环中

for file in *.txt; do echo mv "$file" "${file%.txt}"_$x.txt; done

echo如果您对屏幕上看到的内容感到满意,请删除)

相关内容