素人でもAI時代を前にAutomatorや正規表現など自動化習得まとめ

AI時代のシンギュラリティーが起こってからでは遅い、自動処理の基本である自動化処理や正規表現を身につけて、10年以内に訪れると言われているAI時代到来に備えようと思いまとめました。

Automator

Macを利用する上で自動化処理をどうするかはAutomatorがその分野であろうと予感はしていたものの実際に触る時間がなく放置していた。今回の投稿を機会に初めてさわったのだが、なぜ今まで使わなかったのだろうかと後悔するところから始まった、それほどの優れものだ。

Automator公式ガイドへ

automator

Automatorでできそうな自動化処理

まずは、普段の作業でAutomatorを使った自動化処理にはどんなものがあるのか。

  • 新規フォルダをつくるとファイル名が日付になる
  • 新規ファイル名に日付をつける(参考
  • FTP送信後、Mailで作業完了メール(参考
  • 時間指定でメール送信(参考
  • 決まったタグ、文字列を一気に変換

実際に作った自動化処理(automator.workflow)

  • 客から受けたDocxXelxデータを、Zipxファイルにリネームし解凍後、mediaファイルをデスクトップに取り出し、元ファイルを削除(後述:「docxから画像取り出し」)
  • ファイル、フォルダ先頭に日付を入れる(後述:「画像を480px、960pxにリサイズ」)

Automatorのアイコン変更方法

アプリを作ったからにはReadmeやオリジナルアイコンだって作りたい。その方法。

  1. 事前に500px正方形のアイコンを作っておく
  2. プレビューで開いてコピー
  3. appファイルの「情報を見る」選択
  4. アイコンをクリックしペースト

Automatorを使ってアプリを作ってみた

アプリサンプル「docxから画像取り出し

docxから画像取り出し
docxから画像取り出し
xlsxから画像取り出し
xlsxから画像取り出し

OfficeのWordExelファイルから画像だけを取り出すシンプルなアプリをAutomatorで作ってみました。ささっと写真を抽出したいときに使えます。

アプリ説明

  • OfficeのWord(docx)、Exel(xlsx)ファイルから画像だけを取り出すシンプルな2つのアプリです。
  • アプリはデスクトップでもアプリケーションフォルダでも好きな場所に保存してください。
  • 抽出された画像データはデスクトップに「media」フォルダにまとめられます。
  • ⚠️解凍アプリ「Stffit Expander」が必須です。

アプリ「docxから画像取り出し」のダウンロード

アプリサンプル「画像を480px、960pxにリサイズ」

これはFinder上で画像ファイルを右クリックでサービスを選ぶだけで画像がリサイズされる簡単なアプリ(Finderサービス)です。一つの画像だけではなく、一度に複数の画像を選ぶこともできます。わざわざPhotoshopを立ち上げる紛らわしさがなく、簡単シンプルに画像サイズ変更ができ便利です。

インストール方法

  • 下記ボタンからダウンロードしたZipデータを解凍すると、2つのアプリになります。
  • 一つづつダブルクリックし、表示されたメッセージより「インストール」を選んでください

使用方法

  1. Finderで画像を選択(1つでも複数でもOK)。
  2. ファイルタイプは「プレビュー」で選べるピクセル画像(JPG、PNG、GIF、たぶんPSDでも)ならOKです。
  3. 右クリック > サービス > 「画像を480pxに」or「画像を960pxに」を選択
  4. オリジナル画像と同じ階層に「元のファイル名_480px.jpg」とリネーム保存され、元ファイルは消えません

アプリ「画像をリサイズ」のダウンロード

WordPressにログイン

下記の一連の動作を自動化する。できるなら音声コマンドで実行。

動作

  1. サファリの新規ウィンドウを開く
  2. アドレスバーにログインURLを入力し移動
  3. IDとパスワードを入力しリターン

作成方法とポイント

  • Automatorで作成し実行テストができた。
  • IDとパスワードの入力はAppleScriptのコードが必要。
  • 音声入力コマンドはアクセスビリティー(Fnキー2度打ちで起動)を利用した補助的なもので、Siriライクな操作は現時点でできない。これは次期MacOSバージョンでは実装され強化される見通しなので、待ち。
  • 現時点、Siriで起動できないので、システム設定「起動項目」や、アプリ化で様子見

正規表現

正規表現について基本的な説明表です。(⚠️Windowsでは「¥」ですがMacでは「/」である点とか、色々編集が未完成でしが、今後発見し次第追加したり修正していきます)

参考サイト
初心者歓迎!手と目で覚える正規表現入門・その1「さまざまな形式の電話番号を検索しよう」

便利な正規表現シミュレーター
rubular

目的 正規表現 入力例
行頭 ^ この記号は「キャレット」と呼び、テキスト中不可視となっているが、正規表現では^で表される、
改行 /r この記号は「キャレット」と呼び、テキスト中不可視となっているが、正規表現では^で表される、

ワイルドカード

検索でよく使われるワイルドカード(流動的な文字関数という意味かな)と呼ばれる関数です。

コード 説明
? 1文字
* 文字数関係なし
記号 意味
. 任意の1文字
* 直前の文字の0回以上の繰り返し*1
+ 直前の文字の1回以上の繰り返し*1
? 直前の文字は省略可能*1
*? 直前の文字の0回以上の繰り返し*2
+? 直前の文字の1回以上の繰り返し*2
?? 直前の文字は省略可能*2
[ ~ ] [ ]の中のどれか1文字*5
[^ ~ ] [ ]の中に無い1文字*5
( ~ | … ) ~か…かどっちか
{n} 直前の文字のn回の繰り返し
{min,max} 直前の文字のmin以上max以下の繰り返し(min、maxは省略可能)*1
{min,max}? 直前の文字のmin以上max以下の繰り返し(min、maxは省略可能)*2
\w アルファベット、数字、アンダスコh( _ )のhれかの1文字
\W アルファベット、数字、アンダスコア以外の1文字
\d 数字1文字
\D 数字以外の1文字
\s 半角スペース、タブ、改行のどれか1文字
\S 半角スペース、タブ、改行以外の1文字
\n 改行
\t タブ
\\ \記号
( ~ ) ( )内を1文字扱い

位置系

記号 意味
^ 行の先頭
$ 行の末尾
\< 単語の先頭
\> 単語の末尾
\b 単語の先頭か末尾
\B 単語の先頭、末尾以外
\A ファイルの先頭
\z ファイルの末尾
\G 直前の一致文字列の末尾

置換文字列で使える正規表現

記号 意味
\0 一致した文字列全体
\1 \2 … \9 それぞれ検索文字列の1~9番hの ( ) に一hした文字列*4
\l 次の1文字を小文字にする
\L ~ \E 挟まれた文字列を小文字にする
\u 次の1文字を大文字にする
\U ~ \E 挟まれた文字列を大文字にする
\n 改行
\t タブ
\\ \記号

*1 最長一致と呼ばれ、条件に合う一番長い部分に一致します。
*2 最短一致と呼ばれ、条件に合う一番短い部分に一致します。
*3 「位置系」の記号は「特定の文字列」ではなく「特定の位置」に一致します。
*4 ( ) の順番は ( が現れる順番です。
*5 [ ] 内で正規表現は使えません

文字系

特殊記号 意味 例の意味
. 任意の1文字 h.t hot とか hit とか hat
* 直前の文字の0回以上の繰り返し he*lp hlp とか help とか heeelp
? 直前の文字は省略可能 he?lp hlp または help
[ ~ ] [ ]の中のどれか1文字 [新嬉楽]しい 新しい または 嬉しい または 楽しい
[a-c] aからcまでの1文字 問題[a-c] 問題a または 問題b または 問題c
( ~ ) ( )内を1文字扱い (おら)*。 おら。 とか おらおらおらおらおら。

高度な例

検索文字列 置換文字列 意味
<H1>.*?</H1> <H1>で始まり</H1>で終わる文字列を検索
inter(national|net) internationalinternet を検索
^はろー。$ はろー。 という行を検索
\<inter\w*\> inter で始まる単語を検索
<H1>(.*?)</H1> <H1>\u\1</H1> <H1>〜</H1> の中身を大文字に変換

参考:http://gimite.net/help/devas-ja/all_regex.html

この記事を書いた人

mojigumi

「もじぐみ」の代表、コウです。
主に広告デザインを中心に、企画・出版・編集・印刷、Web制作をしていますが、最近は記事そのものや、ブログ、動画などのコンテンツ配信にも力をいれています。インターネットの時代はコンテンツプロバイダになるのがとても重要。自分自身もランニングアートなど、自分自身がコンテンツになるように心がけています。