BOOK Studio947
狩野祐東・狩野さやか著書

dateコマンドで取得した日付をクリップボードにコピー

dateコマンドで取得した日付をクリップボードにコピー、さらにはAppleScriptやAutomatorを使ってメニューから実行できるようにする(macOS)

先日「dateコマンド」という記事を公開した、その続き。

dateコマンドの実行結果はターミナルに出力されるので、ファイル名をつけるときなどに使うためにはクリップボードにコピーできたほうがよい。そんなときはpbcopyコマンドを併用する。たとえば「yyyymmdd」をクリップボードにコピーしたいならこう。pbcopyはターミナルの出力をクリップボードにコピーするコマンドで、macOS専用。

$ date "+%Y%m%d" | pbcopy

これでクリップボードにコピーされるので、あとは使いたいところでペースト!

メニューから選べるように…

日付をコピーできるようになったとはいえ、これではターミナルを起動しなければいけないし、コマンドも入力しないといけない。操作がちょっと面倒なので、メニューから選べるようにしたい。

macOSの場合はAppleScriptを使うかAutomatorを使うか2とおりある。まずはAppleScriptから。

AppleScriptからコマンドラインのコマンドを実行するにはdo shell scriptを使う。日付(年年年年月月日日)をコピーするなら…

set d to (do shell script "d=date '+%Y%m%d-%H%M';echo $d")
set the clipboard to d

このスクリプトをユーザースクリプトフォルダ(/Users//Library/Scripts/)に保存しておくと、スクリプトメニューから選んで実行できるようになる。

Automatorを使う場合は、クイックアクションを作成して、サービスメニューから実行できるようにするとよい。

新規に「クイックアクション」を作成する。[アクション]から[シェルスクリプトを実行]を探して──アクション / 変数 の横にある検索フィールドで検索すればすぐ出てくる──、ワークフロー(右のグレーの部分)にドラッグする。
「シェルスクリプトを実行」のところにターミナルのコマンドを入力すればできあがり。

date "+%Y%m%d" | pbcopy

2020-06-12_10-57-08

狩野 祐東

Web/アプリケーションUIデザイナー、エンジニア。執筆家。 アメリカ・サンフランシスコに留学、UIデザイン理論を学ぶ。Webサイトやアプリケーションのデザイン・開発、関連技術書籍の執筆を数多く手がける。株式会社Studio947代表。