$ ruby -e 'print open("/etc/shadow").grep(/^(?:#{$<.map {|l| l.split(/:/)[0]}.join("|")})/)'
とか。
[Journal InTime - ワンライナーより引用]
おお! 二つ目の呼出しも一行! 感動的です. ふむふむ,File#grep を使って絞るんですか. ああ,前田さんのコードでは $<.map とされてますが, ARGF.readlines.collect なんていっぺん配列にさんでも ARGF.collect って書けたんですね.あと、一つ目は
$ ruby -F: -ane 'print if $F[3] == "100"' /etc/passwd
の方が楽かも。
[Journal InTime - ワンライナーより引用]
一つ目は -p オプションを使って,ruby -F: -ape 'next if "100" != $F[3]' /etc/passwd
としても書けるんですね(意味的にわかりにくくなりますが).
Debian | LOOX T70HN | Linux | Rails | Rast | Ruby | TYPE T VGN-TZ90HS | boat | hardware | music | p | snowboard | software | surfing | tDiary | その他 | ボウリング | 映画 | 家族 | 会社 | 管理 | 丸藤 | 高専 | 散歩 | 仕事 | 自分 | 鼕
"Yuya.Nishida." / 西田 雄也 <yuya at j96 dot org>