コマンドラインを使用して、名前に今日の日付を含むログファイルを作成します(たとえば、今日は2011年5月17日なので、ファイル名はlog051711
である必要があります)。
ファイル(touch filename
)の作成方法は知っていますが、今日の日付を取得する方法はわかりません。 date
のマニュアルを見ましたが、出力を実際にフォーマットできないようです。
助けていただければ幸いです。
「+ FORMAT」パラメーターを使用して出力をフォーマットできます。
touch "log$(date +'%m%d%y')"
FORMATで使用できるシーケンスについては、マンページを参照してください。
コマンドを実行する
echo "myfilename-"`date +"%d-%m-%Y"`
出力としてこれを与えます:
myfilename-21-02-2014
私は他の誰かがこれを行うためのより良い方法を持っていると確信していますが、あなたが月日年が欲しいと仮定すると、これはうまくいくはずです:
touch log`date +%m%d%y`
そして、希望する順序を反映するように%m、%d、%Yを並べ替えることができます。日付のマニュアルページには、追加の形式の詳細が記載されています。
Pythonもこの仕事をすることができます。そのための小さなスクリプトは次のとおりです。
#!/usr/bin/env python
import time,os
date=time.gmtime()
month = str(date.tm_mon).zfill(2)
day=str(date.tm_mday).zfill(2)
year=str(date.tm_year)[-2:]
fname = 'log' + month + day + year
with open(fname,'a') as f:
os.utime(fname,None)
ここでの考え方は簡単です。time.gmtime()
を使用して現在の日付を取得し、返される構造から特定のフィールドを抽出し、適切なフィールドを文字列に変換し、結果の名前でファイル名を作成します。
テスト走行:
$ ls
touch_log_file.py*
$ ./touch_log_file.py
$ ls
log010317 touch_log_file.py*
執筆時点では、2017年1月3日です。したがって、結果のファイル名は適切な月、日、年です-log010317
可能な解決策の1つ:
date +log%y%m%d | xargs touch
log111017
を作成します