コマンドラインオプション:-Fregexp

ん?regexp??

-Fregexp

    入力フィールドセパレータ($;)に regexp をセットします。

引用:[http://doc.ruby-lang.org/ja/1.9.2/doc/spec=2frubycmd.html#cmd_option:title=コマンドラインオプション]

-Fって文字列指定だと思ってた。




ということは…(例が悪いけど)

rem CSV→TSV
echo "001","abc", "002" ,"あいう" ,  | ruby -F[\s,]+ -lane "puts $F.join(%{\t})"
"001"   "abc"   "002"   "あいう"

rem CSV→TSV(強引な二重引用符外し)
echo "001","abc", "002" ,"あいう" ,   | ruby -F[\s,\"]+ -lane "puts $F.drop(1).join(%{\t})"
001     abc     002     あいう



テキストファイル内の文字コード値表示とか。
テキストファイル [ CP932.txt / UTF-8N.txt ]

もうダメだ…
the end.
13895 days

文字コード値表示

rem CP932.txt
type CP932.txt| ruby -Ks -F\.? -alne "puts $F.map{|c| c.unpack('H*')}.join(' ')"
82e0 82a4 835f 8381 82be 8163
74 68 65 20 65 6e 64
31 33 38 39 35 20 64 61 79 73

rem UTF8N.txt
type UTF8N.txt| ruby -Ku -F\.? -alne "puts $F.map{|c| c.unpack('H*')}.join(' ')"
e38282 e38186 e38380 e383a1 e381a0 e280a6
74 68 65 20 65 6e 64
31 33 38 39 35 20 64 61 79 73

String#charsじゃね?ってツッコミはなしでw