参照ファイルの前の日付を取得しようとしています。
私が試したこと:
[rahul@testsrv]$ date +%F -r /tmp/ftpbkp.log
2013-08-27
[rahul@testsrv]$ date +%F -r /tmp/ftpbkp.log -d "1 day ago"
date: the options to specify dates for printing are mutually exclusive
Try `date --help' for more information.
ベストアンサー1
警告指示:
$ date -r ~/a
Sun 28 Oct 23:12:00 GMT 2012
$ LC_ALL=C date -r ~/a
Sun Oct 28 23:12:00 GMT 2012
出力としてdate
ユーザーのデフォルト形式で日付を出力します。しかし、-d
GNUの入力はdate
書式設定の方が難しいです。
$ date -d "$(date -r ~/a) - 1 day"
date: invalid date ‘Sun 28 Oct 23:12:00 GMT 2012 - 1 day’
ロケールをCに変更すると問題が解決します。
$ export LC_ALL=C
$ date -d "$(date -r ~/a) - 1 day"
Sun Oct 28 00:12:00 BST 2012
しかし、夏時間の制約にもかかわらず、日付はまだ2012年10月28日です。その理由は、イギリスではその日までに24時間が残っていますが、まだ同じ日だからです。
さて、前日が欲しいなら、次のように書く必要があります。
date -d "$(date -r /tmp/file.ref +'%F -1 day')" +%F