0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Macのコマンドラインで明日を表現する方法

Last updated at Posted at 2020-07-06

macのdate表現で困った

macユーザーになってまだ3ヶ月の私にとっては、bashのdateコマンドすら手強い相手でした。
今回、目的にあった形で日付の表現をするのに、小一時間以上かかってしまい軽く自分にショックを受けてしまいました。

他のmacビギナーにとっても日付の表現で時間を多く無駄にしてしまうことはショッキングなことだと思ったので、ここにナリッジをまとめておきたいと考えました。

そもそも:macのコマンドラインで日付表現をしたかったわけ

macにはautomatorという非常に便利なツールがあることを最近になって知りました。
これを使えば、macに最初から入っているツールを組み合わせて、自分好みの自動化アプリケーションを簡単に作ることができます。

今回は、毎日の日記を自動で作成するアプリケーションを作るために、bashで日付表現を使う必要がありました。

date -d '1 days'では明日を表せない?

検索ボックスで、「bash 日付」と打ってでてきたのが、見出しのワンライナーでした。

bash
date -d '1 days' 

これで、明日の日付を取得して自動でファイルの作成ができる!
と思ったら...これがうまく行かないのです。

というのも、この表記はGNUとよばれるパターンの表記方法だったのです。

GNUって?

GNUはwindowsのコマンドラインでの書き方になります。
ところが、私はmacユーザー。
どうりでこの表現ができないわけですね。

windowsがGNUならMacは

もちろんmacにも明日の表現方法はあります。
macの表現方法はBSDと呼ばれる表記方法になるそうです。

BSD表記になると、明日を表すコマンドは以下の通り。

bash
date -v+1d

よかった!macでも簡単に表現できました!

こうして、``(バッククォーテ)を組み合わせたところ、
念願の「本日付けのファイルをコピーして明日の日付のファイルを作成する」ことができました!

bash
cp `date +%Y%m%d`.txt `date -v+1d +%Y%m%d`.txt
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?