【Tips】シェルで日時をファイル名としたファイルをリダイレクトで生成する方法
概要
シェルで日時をファイル名としたファイルをリダイレクトで生成する方法について自分用にメモしておく
方法1
もっといい方法があるかもしれないがとりあえず思いついたので書いておく
実行する内容
$ echo "記録したい内容" > `date | awk '{printf $6"_"$2"_"$3"_"$1"_"$4"_"$5".txt"}'`
解説
dateコマンドを実行すると Sat Dec 31 23:27:13 JST 2022
のように 曜日,月,日,時間,タイムゾーン,年が表示されるため(表示フォーマットは設定により異なる),これをawkコマンドで並べてアンダーバーで区切っている
方法2 (こちらの方が一般的?)
同様のコマンドをネットで検索すると下記の方法を紹介しているページが多い?
実行する内容
$ echo "記録したい内容" > `date "+%Y_%m_%d_%a_%H_%M_%S"`.txt
解説
dateコマンドのオプションで日時フォーマットを指定する方法.%Y が年,%mが月,%dが日,%aが曜日,%Hが時間,%Mが分,%Sが秒にそれぞれ対応している.これらをアンダーバーで区切っている