新しいファイルを作成して、その中に日付を入れることができます。
touch example.txt
date >> example.txt
ただし、新しいファイルを作成した時点で、日付を含むファイルを作成する必要があります。 1つのコマンドだけでそれを行うにはどうすればよいですか?
Dateコマンドを使用してファイルにリダイレクトすると、ファイルが作成されます。
date > example.txt
>>
append演算子を使用することをお勧めします。
date >> example.txt
リダイレクト演算子(>
)と追加演算子(>>
)は、ターゲットファイルが存在しない場合に作成します。最初に作成して後で書き込む必要はありません。
問題がある場合、それは注目に値する
新しいファイルを作成した時点で、日付を含むファイルを作成する必要があります
競合状態(例:その名前のファイルを定期的にスキャンするプロセスがあり、その中の日付を見つけることを期待している)、
date > example.txt
シェルがファイルを開いてからdate
が実際にその内容を書き込むとき(非原子的に書き込まれることもあります)には非常に小さなウィンドウがあるため、これは正しくありません。
その場合、解決策は別のファイルに書き込むことですそして正しいファイル名に対してmv
を実行します:
date > example.txt.tmp
mv example.txt.tmp example.txt
同じファイルシステム上での移動はアトミックであることが保証されているため、example.txt
が表示されるときは、期待されるコンテンツが既に含まれています。
代わりに、質問が単一のコマンドを入力することだけである場合、元の解決策はもちろん正しく最も簡単な解決策です。