🛫
Windows→Mac(UTF-8)変換 シュッとやる
諸事情があり、zipとかでコードをもらうことになったりします。
Windowsを利用している方からもらい、手元のMacでコードを見ると文字化けしますね。
nkfでシュッと変えたりするんですが、.gitも変わって「あ〜〜」みたいなことよくやります。
想定するのは以下のケースです。
- current directory 以下のファイルを全てutf8に変換する
いい感じにしてくれるコード
find . -path ./.git -prune -o -type f -exec nkf -w --overwrite {} \;
一応
find . -path ./.git -prune -o -type f -print
-print つけてチェックしてからやりましょう。
概要
大きく分けて5つの部分から構成されます。
- findの利用宣言(?)
find .
current directory以下を指定してます。
- .gitを外す
-path ./.git -prune
pruneで.gitを外してやってます。
次の-oとも関係しますが、pathが「./.git」に合致したら、
trueを返し、以降その階層より下に潜りません。
- -oオプションの利用
-o
2 or 4の条件に当てはまるものを条件として利用します。
- .git以外のファイルの指定
-type f
.git以外のすべてのファイルを持ってきます。
- nkfの実行
-exec nkf -w --overwrite {} \;
nkfを実行します。
{} に持ってきたファイルが入るイメージですね。
Discussion