MyMiniCity踏んでください!!

ただいま絶賛MyMiniCity参加中です.是非リンクを踏んでください!!(笑
September 27th, 2006

俺的recent commandその2

(Read: 4819)
Add to Hatena Bookmark

参照: Blog/2006-9-25 - Rocco の日記
なんか出力形式が凝ったのがあったので,それplaじゃなくって申し訳ないけどそれphpしてみた.
gawkで頑張ってこういう出力をしていた

gawk_report
gawk_report posted from フォト蔵

ってことで我らがPHPで!!(何


$ cat ~/.bash_history | php -r '$history = file( "php://stdin"); function history_filter( &$item1, $key) { $item1 = preg_replace( "/[\n \t].*$/", "", $item1);}array_walk( $history, "history_filter"); unset( $history[ ""]);$history = array_count_values( $history); arsort( $history); function show_history( &$item1, $key) { printf( "%5d/%30s %s\n", $item1, substr( $key, -30), str_repeat( "*", min( $item1, 20)));} array_walk( $history, "show_history");'
読めないですよね(苦笑
ちょっと改行入れて整形します.


$ cat ~/.bash_history | php -r '
$history = file( "php://stdin");
function history_filter( &$item1, $key) {
$item1 = preg_replace( "/[\n \t].*$/", "", $item1);
}
array_walk( $history, "history_filter");
unset( $history[ ""]);
$history = array_count_values( $history);
arsort( $history);
function show_history( &$item1, $key) {
printf( "%5d/%30s %s\n", $item1, substr( $key, -30), str_repeat( "*", min( $item1, 20)));
}
array_walk( $history, "show_history");'
ステップとしては

・ファイルを配列として読み込んで
・先頭の単語を切り出して
・空連想キーを棄てて
・ソートして
・出力

ってところでしょうか?
一応gawkがスターを20個まで制限してたのでmin()で手抜きで似たようなことをしてみました.
コマンド名も30文字で切るようにしてみました.substrでありきたりなやり方です.

プログラム組み始めて12年くらいで初めてmin()って使った気がする!!ついでにPHPで初めてarray_count_values()ってのも使いました.
array_walkは常用していますが,表示に使ったのは初めてかも.

まぁなんというか綺麗じゃないこととhistoryコマンドの出力を使っていないところがちょっと手抜きといえば手抜きですが,5分だか10分くらいで一気に作ったってことでまぁそういうことで(言い訳

トピックの参照元

▼最近のトピック

▼ 人気のトピック


< 過去の記事 [ 9All Categories ] 新しい記事 >
Powered by gsblog (customize)

[ POST ] [ AddLink ] [ CtlPanel ]

Subscribe blog

Bookmark blog

About me

about me

応援しています

我が息子が産まれたアクア・バースハウス(東京都世田谷区にある助産院)を応援しています.

翻訳のお仕事

腕に自信がある方,修行をしたい方はこちらをどうぞ.

2006 calendar

9月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
| Day | Month | Year |

Powered by RRDTOOL.

Archives

Categories

Links


Mail to admin

人気ブログランキングへ RSS feed meter for http://blog.poyo.jp/ Search Engine Optimization
blogpeople.netに登録!! スカウター : よくきたblog

My Google news

My Google News

Related site

ころんころん♪ べびぽよ フォト蔵Wiki
string(40) "/categ-1/year-2006/month-9/id-1159368215"