シェルコマンドを使って文字コードや改行コードを変換する – GameSprit

AppleScript を使ってテキストファイルを操作しているとなんだか文字コードが UTF-16 で改行コードが Mac なファイルができてしまいました。本当は文字コードが UTF-8 で改行コードが unix なファイルが欲しいのです。

できてしまったものは仕方がないので(AppleScript を使って UTF-8 で unix なファイルを出力する方法が分からない…)シェルコマンドを使って文字コードや改行コードを変換してみます。

mac に標準で入っている iconv と tr を使ってみます。

まずはできてしまっている orginal.txt (本当はoriginal.txt のはずなんだけど) を確認してみます。テキストエディタの mi で開いてみると Unicode (UTF-16) で CR (Mac) なテキストファイルだということがわかります。

では、iconv の呪文を使って、まず文字コードを UTF-16 から UTF-8 に変換します。

$ iconv -f UTF-16 -t UTF-8 ~/desktop/orginal.txt > ~/desktop/utf8_mac.txt

変換した utf8_mac.txt (デスクトップに作りました) を mi で確認すると、 Unicode (UTF-8) で CR (Mac) なテキストファイルだということがわかります。

次に tr のスキルを使って改行コードを CR (Mac) から LF (UNIX) に変換してみます。

$ tr “\r” “\n” <~/desktop/utf8_mac.txt > ~/desktop/utf8_unix.txt

 「\」は実際は半角です。

変換した utf8_unix.txt (デスクトップに作りました) を mi で確認すると、 Unicode (UTF-8) で LF (UNIX) なテキストファイルができたことがわかります。

時々必要なときに忘れるのでメモ

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中