一括変換

Red Hat Linux 9 の頃からメモ取り環境として howm を使って来ました。近頃は weblog ばっかりですが。
最初の方の漢字コードが EUC でして(それ以降は UTF-8)、これを UTF-8 に変換しようと思い立ちました。

§ ディレクトリ howm 以下を圧縮保存

操作を間違って全部台無しなんてこともありますので、ディレクトリごと圧縮して退避します。

$ tar -zcf howm.tar.gz howm↵

あ、$ はプロンプトです。これを記述しないと、どうも落ち着かない。

§ 漢字コード変換

シェルスクリプトと漢字コードフィルタ NKF でどうにかしようと思っていたのですが。
はてなで「linuxで、大量のファイルを一気に変換をかけるにはどうすればいいでしょう?」というのを見付けました。一行で済んでしまった……。折角、久方振りに「入門UNIXシェルプログラミング―Bourne Shellの基礎から学ぶUNIX World」を引っ張り出したのに。

$ cd howm/↵ # ディレクトリ howm に移動
$ find . -type f -print0 ¦ xargs -0 nkf -w --overwrite↵

"Too many open files" とか怒られるので、

$ ulimit -n 10240↵

としてやり直し。
ファイルのタイムスタンプが更新されてしまいますが、そこは無視。
と言いますか、find コマンドの -print0 オプションとか、nkf の –overwrite オプションとか初めて知りました。

§ キーワードファイルを再生成

howm はキーワードを自動リンクしてくれるのですが、複数の漢字コードが混じっている所為でおかしな具合に。
ruby を使ってキーワードファイルを生成します。

$ find . -name "*.howm" -print ¦ xargs ruby -ne '$_=˜/<<<\s+(.+)$/ and puts $1.split(/\s*<<<\s*/).join "\t"' ¦ sort -u >.howm-keys↵

広告

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中