dateコマンド
現在の日付を解析する:
dateコマンドを使用して、現在のシステムの日付と時刻の値を取得することができます。日付と時刻は、「Y」、「m」、「d」、「H」、「M」、および「S」を使用します。‘date_parse.sh’という名前の新しいファイルを作成し、次のコードを追加して、日、月、年、時、分、秒の値を表示します。
#!/bin/bash
Year=`date +%Y`;
Month=`date +%m`;
Day=`date +%d`;
Hour=`date +%H`;
Minute=`date +%M`;
Second=`date +%S`;
echo `date`;
echo "Current Date is: $Day-$Month-$Year";
echo "Current Time is: $Hour:$Minute:$Second";
bashコマンドでファイルを実行します。
$ bash date_parse.sh
2022年 1月13日 木曜日 12時19分06秒 JST
Current Date is: 13-01-2022
Current Time is: 12:19:06
$
- ヒント
- dateコマンドは覚えるのではなく、manコマンドで都度、探しましょう。きりがないです。できる事を覚えておけばオッケーです。以下にありきたりなパターンを列挙しておきます。
$ date '+%Y/%m/%d'
2005/09/11
$ date '+%Y/%m/%d(%a)'
2005/09/11(Sun)
$ date '+%y/%m/%d'
05/09/11
$ date '+%F'
2005-09-11
$ date '+%D'
09/11/05
$ date '+%R'
01:18
$ date '+%T'
01:18:01
$ date '+%r'
01:18:06 AM
$ date '+%Y/%m/%d%n%r'
2005/09/11
01:18:27 AM
#↑%n を使用することで、出力に改行を含めることができる。
# 1日後
$ date -d '1 day'
# 2日後
$ date -d '2 days
# 1日前
$ date -d '1 day ago'
# 1ヶ月前
$ date -d '1 month ago'
# 1年前
$ date -d '1 year ago'
# 1時間前
$ date -d '1 hour ago'
# 1分前
$ date -d '1 minute ago'
# 1秒前
$ date -d '1 second ago'
$ IFSBK=${IFS} ; IFS=$'\n' ; for record in $(cat /var/log/messages ) ; do if [ $(( $(date +"%s") - 300 )) -lt $(echo ${record} | cut -d" " -f 1,2,3 | date --date="$(cat -)" +"%s") ] ; then echo ${record} ; fi ; done | grep error ; IFS=${IFSBK}