1時間ごとにftpするファイルがいくつかあります。受信システムには、同じバッチから取得した何らかの識別子が必要なので、ファイル名にタイムスタンプを追加したいと思います。それだけでもかなり簡単ですが、各ファイルに同じタイムスタンプを付けたいので(バッチ識別子として機能できるように)、これを行う方法がわかりません。
ので、私は持っています:
file1.txt
file2.txt
file3.txt
そして私は持っていたい:
file1_20141110184303.txt
file2_20141110184303.txt
file3_20141110184303.txt
最初の使用後にdate +%Y%m%d%H%M%S
を使用すると、明らかに秒単位で異なる値になるため、残りのファイルに最初のタイムスタンプを追加したいと思います。
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
を削除してください)