ログマニアックス

日々学んだこと、気づいたことをメモ代わりに残していければ。カバー範囲は割と広めです。

コマンドラインでデータ処理@Mac

簡単なテキスト処理をするのにコマンドラインから使えるツールがあると便利。

ただ、Macの場合、Linuxベースと言われているけど、結構基本的なコマンドかけていたりするので注意が必要です。

とりあえず、

[データファイル処理に便利なUNIXコマンド](http://www.e.ics.nara-wu.ac.jp/~nogu/tips/unix_command.html)

このページで紹介されていることができればいいなぁと思ってたのですが、いくつかつまずきがあったのでメモ。以下を読めば、大体のことがことたりるはず。

## macportsの導入

標準的なユニックスコマンドを使えるようにするには、

[The MacPorts Project -- Home](http://www.macports.org/)

をインストールした上で、必要なものをコマンドラインから導入します。あ、前提としてxcodesをインストールしてないといけないけど。

Xcode (無料)

xcodeをインストールするだけではだめで、appstoreからインストールしたあと、環境設定から、コマンドラインツールを導入します。

上記のコマンドラインツールの導入の上、

[The MacPorts Project -- Download & Installation](http://www.macports.org/install.php)

こちらから対応するOSのバージョンをインストールする。インストールしたあとでコマンドラインでportコマンドが使えればOK

## とりあえず、sed

文字列処理の基本であるsedは実はmacの標準はいまいちらしいので、gsedをインストール。

[MacOSXsed に気をつけろ](http://doruby.kbmj.com/tmatsuzawa_on_rails/20081009/MacOSX___sed__1)

これでとりあえず、簡単な文字列置換は一発でできるようになった。

* [フィルタを使用した文字列操作 1 - UNIX & Linux コマンド・シェルスクリプト リファレンス](http://shellscript.sunone.me/filter_sed.html)

このへんを参考に。

## ファイルの名前を変えるのはremaneで

splitコマンドで分割したファイルがいつも拡張子がつかないのでrenameコマンドで分割したあとで.csv拡張子をつけるシーンがありました。

[UNIXの部屋 コマンド検索:rename (*BSD/Linux)](http://x68000.q-e-d.net/~68user/unix/pickup?rename)

```

port install p5-file-rename

```

でインストールができるのでこちらを利用。

[split処理用シェルスクリプト: 組込み徒然草](http://kumikomi.asablo.jp/blog/2009/10/28/4661278)

このへんでもできそうだけど、コマンドが用意されているものはそのまま使いたいですよね。

## awkも勉強したい

[Awkプログラミング入門講座-はじめに](http://homepage2.nifty.com/mozu/koza/awk_koza/awk_koza_00.html)

とか読んでると楽しくなるけど、手段と目的が入れ替わりそうなので、気をつけよう…

## md5sumでファイルが一致しているか確認

[Mac OS Xでmd5sumコマンドをシミュレートする - Lism.in * blog - nekoya (id:studio-m)](http://d.hatena.ne.jp/studio-m/20091128/1259405969)

こちらも導入済み

## その他メモ

* [find/grep/xargsコマンドを使いこなす 業務で楽するためのUNIXテクニック集「検索」編 (1/4):CodeZine](http://codezine.jp/article/detail/3279)