コマカい作業中
以前は perl 使ってたんですが、ruby を使ってヤル方向で。
今、/etc/passwd 使ってアカウントだけを抽出するナニをつい癖で perl で作ってしまった。
$ cat /etc/passwd | perl -e \ > 'while(<>) { \ > chomp; \ > @tbl=split(/:/); \ > print "@tbl[0]\n"; \ > }' |lv
みたいな感じ。
や、これを ruby なナニにしたらどうか、とゆー事で。
$ cat /etc/passwd | ruby -e \ > 'while gets do \ > chop; \ > tbl=split(/:/); \ > print tbl[0] + "\n"; \ > end' |lv
こうなったんだけど、もっと良い書き方があるんだろな。
で、最終的にこんな感じに
$ sort user.txt|ruby -e '\ > while gets do \ > chop; tbl=split(/:/); > print tbl[0] + "\t" + tbl[0] + "\t" + \ > `mkpasswd tbl[0]`.chop + "\t" + "\t" + tbl[0] + "\n"; \ > end' > user.test.txt
職場サーバがレンタル移行でメイルのアカウント移行しなきゃ、なんですが、上記フォーマットのテキストを吸ってくれるらしく、データを作成中。
ただし、ユーザさん達が強度の高いパスワードを承認してくれるかどうかは微妙 (わら
って、このエントリを受けてパスワードエントリの取得というエントリを投入しておられる方を発見。ナンダコレハ。
最終的なやつがこんな感じで書けるのか。あ、cat とかしなくて OK なんだ。
$ ruby -retc -e 'Etc.passwd{|e| print e.name + "\t" \ > + e.name + "\t" + `mkpasswd e.name`.chop + "\t" + "\t" > + e.name + "\n";}' > user.test.txt
ほほー。でもー、Etc.passwd{} なナニでは若干微妙。システムなアカウントもナニですが、その行は消せばええだけの話か。
それはさて置き、Etc.passwd って何だー。