OneLiner
あるディレクトリ以下にあるファイルのサイズの合計を知りたいとき。 MacならFinderから右クリック→「情報を見る」で知ることはできるのだけど、コマンドから知ることはできるのだろうか?と調べてみた。 ディレクトリ中のファイルサイズ合計値を バイト表示…
久々のワンライナーネタ。 http://d.hatena.ne.jp/minsaa/20090406/1238987334を読んでて思いついたので。 以下、グレゴリオ暦を使うという前提で。 条件分岐を連ねるならPerlでは三項演算子かな?閏年のときだけ1を返すようにしてみた。 perl -le 'print +(…
これは自分ではなかなか思いつきそうにない。 Rubyがわからない - Cozy Ozy より $ perl -le'print$a+=$!=$a-$!for--$!..-2+pop' 10 1 1 2 3 5 8 13 21 34 55 NMTnet|404 Not Found エラー より $ perl -le'print$"=($a+=$")-$"for++$a..pop' 10 1 1 2 3 5 …
例題: 同じ数字が2回以上現れない、4桁の数字を羅列する(最上位桁が0でもOK) …というのを考える。 その個数は、順列 から求められるので、この場合は10×9×8×7=5040個の数字列が現れることになる。 順列を生成するスクリプト では実際に5040個の数字列を…
perl -MXMLRPC::Lite -le'print XMLRPC::Lite->proxy("http://b.hatena.ne.jp/xmlrpc")->call("bookmark.getTotalCount",pop)->result;'引数にURLを指定。 指定したURLでの、全体の合計被ブックマーク件数が取得できるらしい。 $ perl -MXMLRPC::Lite -le'pr…
以下のような256個の16進2桁の数値を一覧表示したい、とする。 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B …
16進数のテーブルを表示するワンライナーを考える - すぎゃーんメモのまとめ。追記しまくって長くなったので整理する。 ()内はperlコマンドも含めた文字数。 (52)最もオーソドックスにfor文を回して文字列連結する方法 perl -le'for$i(@a=(0..9,A..F)){print…
$ svn log | grep ^r[0-9] | perl -MYAML -anle '$h{$F[2]}++;END{print Dump\%h}'別にYAMLのDumpじゃなくてData::DumperのDumperを使ってもよい。
何故か円周率ネタの続き。 簡単なのだったらワンライナーで書けるかなーと思って。 $ perl -le '(rand)**2+(rand)**2<1&&$x++for 1..($n=100000000);print$x*4/$n' 3.14167476この回数で実行に1分くらいかかって精度は3〜4桁程度。ふむー 追記 収束してい…
もしも、世界のどこかに毎分ごとに"HHMM.jpg"の形式で1440枚の画像ファイルが公開されていたりしたら、一気に取得したくなりますよね! そんなときにはワンライナーでサクっと取ってしまいましょう。 $ for i in $(echo 0{0..9}{0..5}{0..9} {10..23}{0..5}{…
美人時計の画像ファイルをワンライナーで取得する - すぎゃーんメモと同様、 この記事は削除しました。 メモしておきたいのは、 wgetで待ち時間を指定できるということ、 $ wget --help ...(略) ダウンロード: ...(略) -w, --wait=SECONDS ダウンロード毎に …
この記事は削除しました。 メモしておきたいのは、 zshを使えばゼロパディングしてブレース展開できるらしい。ということ。 % echo {00..12} 00 01 02 03 04 05 06 07 08 09 10 11 12
Sierpinski triangleワンライナー その2 - すぎゃーんメモの続き。 Combination(n, m)が奇数になるための必要十分条件について 組合せ (数学) - Wikipediaより というように、とを二進展開したとき、 であることがが奇数であることの必要十分条件になってい…
webで見る限りでは1日以上経たないと"〜時間前"などアバウトな時間で、1日経ったあとでも分単位でしか表示されない。 でもそれぞれの発言はURLにstatusのIDが振られているので、そのIDを使えば秒単位までの正確な時間はAPI経由で取得できる。 $ perl -MDat…
Sierpinski triangleワンライナー - すぎゃーんメモの続き。 アルゴリズムの意味を自分なりに汲み取って書き換えてみた。 $ perl -le 'print map { ~$n & $_ ? "." : "#" } 0..($n = $_ - 1) for 1..2**pop' 6 # ## #.# #### #...# ##..## #.#.#.# ######## …
$ perl -MLWP::Simple -MEncode -C2 -le'print decode"euc-jp",splice@a,rand@a,1for 1..(@a=get("http://wiki.somethingnew2.com/lt/index.php?Events%2F2009%2F02")=~m|style_table.*?((?:<tr>.*?</tr>){8})|&&map{s|<.*?>||g;$_}grep{!($a++%8-1)&&$b++}$1=~m|<td.*?>.*?</td>|…
perldoc Acme::EyeDrops から引用。 こういう図形のことはしっていたけど、こういう名前だったのか。 シェルピンスキーのギャスケット - Wikipedia $ perl -le '$x=2**pop;print$"x--$x,map$x&$_?$"x2:"/\\",0..$y++while$x' 4 /\ /\/\ /\ /\ /\/\/\/\ /\ /\…
$ perl -le 'print $~^" !#64:"'どうせ反則ならこれでいいかw
$ perl -le '$~++for 0..515937;print lc$~'というのを一行自己紹介として使ってみるというのはどうだろう。 '$~'をSTDOUTとして使うのは反則かな。 追記 こんなのとか? perl -le '($_||="\163"x6)++while$a++<706623;print' 変なところから文字列を持って…
何かの拍子にこの記事を見かけてしまい、衝撃を受けた。 2006-11-07 - 兼雑記 Perlってこんな変態プログラムが書けてしまうのか…!!と。 記号だけでプログラムが書けてしまうとは全然知らなかった。 何度も読み返してようやく理解した範囲では、 拡張正規表…
とりあえず1つできた!! $ perl -e '""!~("(?{\$*=".("/@^{_^)@/"^"_/.@/,@.[")."\$;,(\$*/=\$;)-!\$??\"*\":\$/".("^()@>{@]`][[/"^")@@,[_{`;:)>_")."{!(\$*%\$_)}!\$?..\$*]->[!\$?]})")' 2009 7*7*41150文字を超えてしまったので、もうすこし短くでき…
$ perl -le '""!~("(?{".("_/)./~^=_,_^},@=!@*@@;"^"/]@@[^-^>@>,]@/^@,^)-^")."})")'とてもこんなコマンドがマトモに動くようには見えないのに…Perlすげー
はじめてのHello world!! $ perl -e '""!~("(?{".("^_)@]@}(_,@/~)@,@;~~<@|"^".-@.)`_`:@,@^^/^,___`.^")."})")' Hello world!!ワンライナーでやろうとすると色々制限が増えて面倒っぽい。
$ perl -MLWP::Simple -MJSON -C2 -e '@f = @{$_->{favorites}} and print $_->{text}, $/, join($", @f),$/ for @{decode_json(get "http://api.wassr.jp/statuses/user_timeline.json?id=" . pop)}' <Wassr ID>何も出力されないとちょっと悲しい。</wassr>
素因数分解ワンライナーの作り方 その1 - すぎゃーんメモ 素因数分解ワンライナーの作り方 その2 - すぎゃーんメモ の続き。最後の方法はCPANモジュールを使うもの。 探してみたけど素因数分解ができそうなのは Math::Big::Factors というモジュールくらい…
素因数分解ワンライナーの作り方 その1 - すぎゃーんメモの、続き。 前回はワンライナーの中でサブルーチンを定義し、それを再帰的に呼び出すことによって素因数分解を行っていた。 これを、サブルーチンの再帰呼び出しを使わずに表現することはできないか…
以前に自分が書いたワンライナーについて聞かれたのに答えられなかったので反省して、どうやって考えたのかを整理しつつもう一度作り直してみる。 まず素因数分解のプログラムの流れ。 対象の数の素因数を探す 具体的には、2から初めて小さい順に割り切れる…
連想配列(ハッシュ)の中身を表示させるとき。普通はData::Dumperモジュールを使って表示すると思う。 $ perl -MData::Dumper -e 'print Dumper { key1 => "value1", key2 => "value2" }' $VAR1 = { 'key2' => 'value2', 'key1' => 'value1' }; でも、コレっ…
$ for i in $(svn st | grep ^[MA] | perl -alne 'print $F[1]'); do open -a /Applications/Emacs.app/ $i; doneelispとか使いこなせればこんなことしなくてもいいのかな…?
今までずっと $ perl -MLWP::Simple -MJSON -e 'print decode_json(get "http://***.com/***.json")'みたいなカンジで書いてたけど、わざわざモジュールでhttpのgetをしなくても他のコマンドを使う方法があることを知った。 たとえば、Macなら"curl"というコ…