\r\n\r\n
このチュートリアルでは、コマンドラインから日付を取得する方法と、シェルスクリプトで時刻を表示する以上のことを行う方法について説明します。
この情報を見るには、dateコマンドを実行すると、あなたのタイムゾーンの現在の日付と時刻が次のように表示されます。
dateデフォルトのフォーマットは、ちょっとバカっぽい。なぜ年号は、時間帯の後に最後に表記されるのではなく、月と日の後に印字されないのですか?心配しないでください:それはあなたが望む出力形式を制御する場合、日付はそれを明確に提供します。これまで、40以上のオプションを渡して、正確な出力形式を指示することができました。
いずれかのオプションを使用するには、日付、スペース、プラス記号「+」、および先頭のパーセント記号を含むオプションを入力します。c (data and time in regional settings format) オプションは、日付と時刻を地域設定に関連付けられた正規のフォーマットで印刷するようにします。ロケールは、OSのインストール時に提供された地理的、文化的な情報によって設定されます。ロケールは、通貨記号、用紙サイズ、タイムゾーン、その他の文化的規範などを制御します。
date +%c年は、より自然な形で出力されるようになったように思います。
一度に複数の日付オプションを渡すことができます。一連のオプションは、フォーマットストリングと呼ばれます。日付(%A)、月(%d)、月名(%B)を表示する場合は、次のコマンドを使用します。
date +%A%d%Bフォーマット文字列全体を引用符で囲んで、スペースを含めるようにすれば問題ありません。
date +"%A %d %B"フォーマット文字列には、以下のようにテキストを付加することができる。
date +"Today is: %A %d %B"日付の冊子のページを上下にスクロールして目的の項目を探すのは、すぐに飽きてしまうものです。これらの選択肢をより簡単に見つけることができるよう、グループで話し合いました。
他のオプションの表示を変更するには、これらの修飾子を % とオプション文字** の間に置きます。例えば、%-S は1桁の秒の値から先頭のゼロを取り除きます。
ファイルの最終更新時刻を取得するには、-r(参照)オプションを使用します。なお、%記号ではなく-(ハイフン)を使用し、+記号は必要ありません。このコマンドをメインフォルダで試す場合。
date -r .bashrcTZの設定は、1つのコマンドの実行中にタイムゾーンを変更することができます。
TZ=GMT date +%cbashshellスクリプトで時刻と日付を表示できるようにするのは簡単です。以下の内容を含むテキストファイルを作成し、「広東省」として保存してください。
#!/bin/bash TODAY=$(date +"Today is %A, %d of %B") TIMENOW=$(date +"The local time is %r") TIME_UK=$(TZ=BST date +"The time in the UK is %r") echo $TODAY echo $TIMENOW echo $TIME_UK以下のコマンドを入力して、実行権限を設定し、スクリプトを実行可能な状態にします。
chmod +x gd.sh以下のコマンドでスクリプトを実行します。
./gd.shdateコマンドを使えば、タイムスタンプを提供することができる。表示されているスクリプトは、タイムスタンプを名前とするディレクトリを作成します。すると、現在のフォルダーにあるすべてのテキストファイルがその中にコピーされます。このスクリプトを定期的に実行することで、テキストファイルのスナップショットを取得することができます。時間をかけて、異なるバージョンのテキストファイルを含む一連のフォルダーを作成します。
これは堅牢なバックアップシステムではなく、あくまで例示に過ぎないことにご注意ください。
以下の内容のテキストファイルを作成し、snapshot.shという名前で保存してください。
#!/bin/bash # obtain the date and time date_stamp=$(date +"%F-%H-%M-%S") # make a directory with that name mkdir "$date_stamp" # copy the files from the current folder into it cp *.txt "$date_stamp" # all done, report back and exit echo "Text files copied to directory: "$date_stamp以下のコマンドを入力して、実行権限を設定し、スクリプトを実行可能な状態にします。
chmod +x snapshot.sh以下のコマンドでスクリプトを実行します。
./snapshot.shディレクトリが作成され、その名前がスクリプトの実行日時になっていることがわかる。このディレクトリの中にテキストファイルのコピーがある。
ちょっとした工夫で、地味な日付コマンドも効果的に使うことができるのです。