ISO日付に沿って名前が付けられた新しいフォルダでファイルを作成し、vimでファイルのエイリアスを開きます。

ISO日付に沿って名前が付けられた新しいフォルダでファイルを作成し、vimでファイルのエイリアスを開きます。

.bashrcISO日付というフォルダにマークダウンやテキストファイルを作成できるようにエイリアスを作成したいと思います。グリニッジ標準時次にエディタでファイルを開きます。

これは私の予想出力(はい)です。 ./20211226220131/readme.mdreadme.mdで開かれましたvim

ベストアンサー1

bashバージョン4.2以降を使用しているとします。

edmd () {
    local now
    TZ=GMT printf -v now '%(%Y%m%d%H%M%S)T' -1
    mkdir "$now" && "${EDITOR:-vim}" "$now/readme.md"
}

nowこのシェル関数は、GMTタイムゾーンの現在のタイムスタンプを含むローカル変数を生成します。その後、このタイムスタンプを使用して名前付きディレクトリを作成します。成功した場合は、readme.md必要なエディタを使用するか、ディレクトリが空または設定されていないvim場合はそのディレクトリ内のファイルを編集できます。EDITOR

このシェル関数は通常、エイリアスを宣言するたびに宣言され、次のように使用されます。

$ edmd

シェル機能は外部ユーティリティに依存せず、date誤って現在の作業ディレクトリを変更することはできません。

テスト:

$ edmd

(私のエディタが開いたら、何かを入力してファイルを保存してエディタを終了します。)

$ tree
.
`-- 20211226092420
    `-- readme.md

1 directory, 1 file

また、日付と時刻のISO 8601形式は、次のように書かれています。

  • 「2021-12-26T14:52:04Z」または
  • 「20211226T145204Z」

UTCタイムゾーンまたは

  • 「2021-12-26T14:52:04+00:00」

...ここで「00:00」はUTCに基づく時間オフセットを提供します。

したがって、使用することができます

TZ=UTC printf -v now '%(%Y-%m-%d-T%H:%M:%SZ)T' -1

または

TZ=UTC printf -v now '%(%Y%m%dT%H%M%SZ)T' -1

または

TZ=GMT printf -v now '%(%Y-%m-%d-T%H:%M:%S%z)T' -1

...「ISO日付」を取得します。

おすすめ記事