Geo*_*nes 2 shell date filenames timestamps variable
我有几个文件,我每小时 ftp。接收系统需要有某种标识符,它们来自同一批次,所以我想在文件名后附加一个时间戳。仅此一项就相当容易,但由于我希望每个文件具有相同的时间戳(因此它可以用作批处理标识符),我无法弄清楚如何做到这一点。
所以我有:
file1.txt
file2.txt
file3.txt
Run Code Online (Sandbox Code Playgroud)
我想要:
file1_20141110184303.txt
file2_20141110184303.txt
file3_20141110184303.txt
Run Code Online (Sandbox Code Playgroud)
date +%Y%m%d%H%M%S
在第一次使用之后的任何使用显然都会导致以秒为单位的不同值,所以我希望将第一个时间戳附加到剩余的文件中。
只需将 的值存储date +%Y%m%d%H%M%S
在变量中:
x=$(date +%Y%m%d%H%M%S)
Run Code Online (Sandbox Code Playgroud)
后来
mv file1 file1_$x.txt
mv file2 file2_$x.txt
...
Run Code Online (Sandbox Code Playgroud)
或在所有*.txt
文件的循环中
for file in *.txt; do echo mv "$file" "${file%.txt}"_$x.txt; done
Run Code Online (Sandbox Code Playgroud)
(echo
如果您对屏幕上看到的内容感到满意,请删除)