私は apple-automator サービスが大好きなので、ワークフロー全体と次のステップを紹介します。
- Automator.app を起動します
- 選択する
Service
- 設定リッチテキストの受信
- チェック
Output replaces selected text
ボックスをオンにします
- ツールバーの「ライブラリを表示」をクリックします(非表示の場合)
最初のアクションを追加します。
Run shell script
- パス入力:
to stdin
- シェルを次のように変更します。
/usr/bin/perl
次のスクリプトを追加します
use 5.012;
use open qw(:std :utf8);
print "<table border='1'>\n";
while(<>) {
chomp;
next if /^\s*[=-]*\s*$/;
my @arr = m/(?:^|\G\|)((?:[^\\|]|\\.)*)/sg;
print "<tr><td>" . join('</td><td>', map {s/^\s*(.*?)\s*$/$1/;$_} splice(@arr,1,-1)) . "</td></tr>\n";
}
print "</table>";
次に 2 番目のアクション:
Run shell script
- パス入力:
to stdin
次のスクリプトを追加
textutil -stdin -inputencoding UTF-8 -format html -convert rtf -stdout | pbcopy -Prefer rtf
3 番目のアクションを追加します。
Get content of the clipboard
次のような名前でサービスを保存します。Table2Rtf
ワークフロー:
- TextEdit.app を起動するだけで、
- asciiファイルをロードします
- ドキュメントのタイプを RTF に変更します (メニュー: フォーマット -> リッチ テキストの作成)。
|
「ASCIIテーブル」を選択します(すべての文字を含むテーブル全体を選択してください)
- そして
TextEdit -> Services
、上記のサービスを実行します。
すべてがうまくいっている場合 - テーブルが単純な RTF テーブルに置き換えられたら、列の幅などを調整できます....
アクションは次のことを行います。
- スクリプトは
perl
、テキスト テーブルを単純な HTML テーブルに変換します。
- HTML を RTFに
textutil
変換し、RTF をクリップボードにコピーします。
- 最後はrtfクリップボードの内容を取得することです
- そして、「出力が入力を置き換えた」が選択されているため、結果のRTFは、ドキュメント内のテキストベースの表を単純に置き換えます。
- 「rtf」を「doc」として保存することもできます。
MacAutomator.app
は非常に強力で、少し調整すれば、converor.app
rtf ファイルに変換するためのすべての ascii ファイルを簡単にドロップできます。