🗄️

Macでクリップボードの内容をテキストファイルとして保存する

2022/08/17に公開

Macで、表示されているテキストをさっと保存したいことがあります。
この記事では、Mac標準のAutomatorを使い、クリップボードにコピーしたテキストを.txtファイルとして書き出す方法を紹介します。

Automatorの新規作成から、アプリケーションを作成してください。
筆者はclipboard-to-txtという名前で作成しました。

シェルスクリプトを実行アクションを追加します。
多数のアクションが用意されているので「実行」などのワードで検索すると楽です。

追加したシェルスクリプトを実行アクションに、以下のスクリプトを設定します。

pbpaste > ~/Downloads/CLP.txt && open ~/Downloads/

pbpasteコマンドでクリップボードの内容をファイルへ書き出しているだけです。
ついでにopenコマンドで保存先のディレクトリを開くようにすると、すぐにファイルを確認できます。

これでひとまず「クリップボードの内容をファイルへ保存」はできているのですが、ファイル名が固定となっているため、毎回上書きすることになってしまいます。
したがって、以下のようにファイル名をdateコマンドを使って生成します。

pbpaste > ~/Downloads/CLP-$(date "+%Y%m%d-%H%M%S").txt && open ~/Downloads/

これで、CLP-20220101-122805.txtのように、ファイル名にタイムスタンプを含めた形で保存することができます。

SpotlightやAlfredなどのランチャーからこのアクションを呼び出すことで、クリップボードの内容をさっと保存することができます。

選択してコピーできるテキストはなんでも保存できるので、Webページの魚拓や、何らかのログの保存など、応用範囲が広いです。
また、単純なテキストファイルを保存しているだけなので、(シェルスクリプトに慣れている方は)「保存先を変える」「1行目にタイトルを入れる」などのカスタマイズも可能でしょう。
Macユーザーの方はお試しください。

Discussion