dateコマンドで取得した日付をクリップボードにコピー
- 2020-06-16
- applescript / automator / cli / mac
先日「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/
Automatorを使う場合は、クイックアクションを作成して、サービスメニューから実行できるようにするとよい。
新規に「クイックアクション」を作成する。[アクション]から[シェルスクリプトを実行]を探して──アクション / 変数 の横にある検索フィールドで検索すればすぐ出てくる──、ワークフロー(右のグレーの部分)にドラッグする。
「シェルスクリプトを実行」のところにターミナルのコマンドを入力すればできあがり。
date "+%Y%m%d" | pbcopy