Ruby
Linux
sed

CSVのゼロパディングを外すワンライナー

数字の先頭のゼロを外したいケース。

$ cat test.txt 
1,2,3,0004,5
01,0,0,0002,4

「コンマまたは行頭」がうまく表現できず、sedだとこんな感じ。

$ sed -e 's/,0*\([1-9]\)/,\1/g' test.txt | sed -e 's/^0*\([1-9]\)/\1/g'
1,2,3,4,5
1,0,0,2,4

全ての列が数値、という前提ですが、Rubyならこんな感じにかけます。

$ ruby -ne 'puts $_.split(",").map { |v| v.to_i }.join(",")' test.txt 
1,2,3,4,5
1,0,0,2,4

参考リンク

http://qiita.com/hirohiro77/items/7fe2f68781c41777e507