カテゴリー
Mac

巨大なテキストファイルの全文置換

10Mを超えるようなテキストファイルの全文置換、ど…

10Mを超えるようなテキストファイルの全文置換、どうすればよいでしょう?

普通のテキストエディタだとファイルを開くことができませんし
また、もし開けたとしても置換の途中で落ちます

そんなに大きなテキストファイルとは何か?
iTunes Music Library.xml です。

実は外付けHDDにiTuneのファイルを置いていたのですが、そのHDDを移転させようとして失敗しました、、
ほとんどのファイルがiTunes側からリンクが切れた状態になってしまいました
復旧のしかたは簡単なのですが、なにせファイルがでかい

テキストエディット.appはもちろん、
CotEditorでも
mi.appでも 全然処理できません。

こんなときはターミナルです。

MacOSはUNIXなんです

・デスクトップなど、適当な場所にiTunes Music Library.xmlをコピー ここではa.xmlとリネーム
・その階層に移動(cd Desktopなど)して

・正規表現で変換したい文字を指定 ’s/置き換え対象/置き換えたい文字’
 (↑この例では 300G/.Trashes/501 から 600 に置き換えています)

・ファイル名 > 出力ファイル名 ここではb.xml

とすると 1秒以内に処理できます
ちょっと感動。