AI時代のシンギュラリティーが起こってからでは遅い、自動処理の基本である自動化処理や正規表現を身につけて、10年以内に訪れると言われているAI時代到来に備えようと思いまとめました。
Automator
Macを利用する上で自動化処理をどうするかはAutomatorがその分野であろうと予感はしていたものの実際に触る時間がなく放置していた。今回の投稿を機会に初めてさわったのだが、なぜ今まで使わなかったのだろうかと後悔するところから始まった、それほどの優れものだ。
Automatorでできそうな自動化処理
まずは、普段の作業でAutomatorを使った自動化処理にはどんなものがあるのか。
実際に作った自動化処理(automator.workflow)
- 客から受けたDocx、Xelxデータを、Zipxファイルにリネームし解凍後、mediaファイルをデスクトップに取り出し、元ファイルを削除(後述:「docxから画像取り出し」)
- ファイル、フォルダ先頭に日付を入れる(後述:「画像を480px、960pxにリサイズ」)
Automatorのアイコン変更方法
アプリを作ったからにはReadmeやオリジナルアイコンだって作りたい。その方法。
- 事前に500px正方形のアイコンを作っておく
- プレビューで開いてコピー
- appファイルの「情報を見る」選択
- アイコンをクリックしペースト
Automatorを使ってアプリを作ってみた
アプリサンプル「docxから画像取り出し」


OfficeのWord、Exelファイルから画像だけを取り出すシンプルなアプリをAutomatorで作ってみました。ささっと写真を抽出したいときに使えます。
アプリ説明
- OfficeのWord(docx)、Exel(xlsx)ファイルから画像だけを取り出すシンプルな2つのアプリです。
- アプリはデスクトップでもアプリケーションフォルダでも好きな場所に保存してください。
- 抽出された画像データはデスクトップに「media」フォルダにまとめられます。
- ⚠️解凍アプリ「Stffit Expander」が必須です。
アプリサンプル「画像を480px、960pxにリサイズ」
これはFinder上で画像ファイルを右クリックでサービスを選ぶだけで画像がリサイズされる簡単なアプリ(Finderサービス)です。一つの画像だけではなく、一度に複数の画像を選ぶこともできます。わざわざPhotoshopを立ち上げる紛らわしさがなく、簡単シンプルに画像サイズ変更ができ便利です。
インストール方法
- 下記ボタンからダウンロードしたZipデータを解凍すると、2つのアプリになります。
- 一つづつダブルクリックし、表示されたメッセージより「インストール」を選んでください
使用方法
- Finderで画像を選択(1つでも複数でもOK)。
- ファイルタイプは「プレビュー」で選べるピクセル画像(JPG、PNG、GIF、たぶんPSDでも)ならOKです。
- 右クリック > サービス > 「画像を480pxに」or「画像を960pxに」を選択
- オリジナル画像と同じ階層に「元のファイル名_480px.jpg」とリネーム保存され、元ファイルは消えません。
正規表現
正規表現について基本的な説明表です。(⚠️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) | international と internet を検索 | |
^はろー。$ | はろー。 という行を検索 | |
\<inter\w*\> | inter で始まる単語を検索 | |
<H1>(.*?)</H1> | <H1>\u\1</H1> | <H1>〜</H1> の中身を大文字に変換 |