ファイル名に日付を含める

ファイル名に日付を含める

ディレクトリには150の名前のファイルがあります。ユーザーに日付の入力を求めるABLIMITS.TXTファイル名を変更するにはどうすればよいですか?ABLIMITS_date.txt

答え1

あなたの質問は少し不明です(単一の親ディレクトリにある150個のファイルがどのように同じファイル名を持つのですか?)。以下は、単一のファイルでこれを行う例です。ABLIMITS.TXT必要に応じてこれを推測できます。

POSIXシェルでは:

現在の日付を使用

mv ABLIMITS.TXT "ABLIMITS_$(date '+%Y-%m-%d').TXT"

ユーザーに日付を入力するように求めるメッセージを表示する

read -rp "Please enter date: " date
mv ABLIMITS.TXT "ABLIMITS_${date}.TXT"

答え2

私はあなたがユーザー入力を受け取り、それが標準形式(例えばYYYY-MM-DD)に従うことを確認したいとします。それでは、次のようにしてみましょう。

for i in *
do
  read -p "Enter date for $i: " d
  mv "$i" "${i%.*}_$(date +%Y-%m-%d -d "$d").${i##*.}"
done

この形式の詳細については、日付のマニュアルページを参照してください。

関連情報