ワイルドカードを使用したファイルのコピーとタイムスタンプの追加

ワイルドカードを使用したファイルのコピーとタイムスタンプの追加

Test_*.txtファイルをにコピーする必要がありますTest_20190101_Timestamp.txt。ここで、*ワイルドカードは20190101日付です。

cp test_*.txt test_*_"$(date +%Y%m%d-%H%M%S)".txt

ファイルをコピーすると、出力コピーも.で終わりますTest_*_Timestamp.txt。ワイルドカードを使用せずにファイル全体をコピーするにはどうすればよいですか?

私もこれを試しましたが、やはり失敗しました。

cp test_*.txt test*_"$(date +%Y%m%d-%H%M%S)".txt 
cp: target 'test*_20200102-160523.txt' is not a directory

ベストアンサー1

ファイルを繰り返す必要があります。

for file in Test_*.txt; do
    fileroot=${file%.txt}    # remove the extension
    cp -v "$file" "${fileroot}_Timestamp.txt"
done

おすすめ記事