1時間ごとに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
画面に表示される内容が満足な場合は削除してください。)