シェル スクリプトを使用して、Jekyll の投稿やページに最終更新タイムスタンプを提供できるようにしたいと考えています。問題は、許容可能なタイムスタンプを自動的に生成する方法がわからないことです。許容可能なタイムスタンプに最も近いのは、次のコマンドを使用することです。
stat <FILE> | sed -n -e 's/Modify:\s//p'
私のglossary.mdファイルに対しては以下が返されます:
2016-02-12 09:37:55.393936224 +1000
これはほぼ私が求めている形式です。唯一の問題は、小数点を削除したいことです.393936224
。私はこれを使用して自分で管理できると思いましたsed
が、すべての試みは失敗しました。私の試みのほとんどは、この出力をテキスト ファイルに書き込んでから、このテキスト ファイルで sed を使用して小数点を削除するというものでした。この出力をテキスト ファイルに書き込まないという回答をいただければ幸いですが、ソリューションの出力を変数に書き込み可能にしたいです。たとえば、変数が次の場合L
:
L=$(stat <FILE> | sed -n -e 's/Modify:\s//p' | sed ...)
ここで、 は、| sed ...
この問題に対する解決策に置き換えることができます。
答え1
date
(少なくとも現在一般的な GNU 実装では) ファイルの変更時刻を直接取得できます。
> date -r ~/.bashrc +'%Y-%m-%d %H:%M:%S %z'
2015-11-10 18:50:49 +0100
(またはご希望の形式)