複数のファイル名に同じタイムスタンプを追加する

複数のファイル名に同じタイムスタンプを追加する

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

おすすめ記事