我每小时都会通过 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
如果您对屏幕上看到的内容感到满意,请删除)