トップ «前の日記(2004-09-04) 最新 次の日記(2004-09-06)» 編集 RDF

雄也の?日坊主日記


2004-09-05

_ [Ruby] /etc/passwd と /etc/shadow の ワンライナー

$ 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

としても書けるんですね(意味的にわかりにくくなりますが).


2004|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|
2006|05|
2007|04|05|09|10|11|
2008|04|05|08|10|11|
2009|02|03|04|05|06|07|08|09|10|11|
2010|02|03|04|07|10|
2011|04|08|
2012|02|10|
2014|05|06|08|
2018|03|
楽天で探す
楽天市場
キーワードから探す
楽天トラベル