あなたが今まで打ったなかで一番長いコマンドは?
30分プログラム、その417。今までで打った中で一番長いコマンドが何か気になったので、調べてみた。
使い方
# そのままだと見ずらいので、重複を削除 $ gosh 417-long_hist.scm ~/.history | sed 's/^.*;//' | uniq : 1221357578:0;/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ru by -Itest "/Library/Ruby/Gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader.rb" "test/unit/dotfile_test.rb" : 1222145457:0;echo "echo -e "\0377\0364\0377\0375\0006" >break.bin; sudo /usr/b in/arping -f 192.168.1.1; sudo nc -vvv 192.168.1.1 9000 <break.bin; telnet 192.1 68.1.1 9000" > catch_fonera+ ...
Railsの単体テストが遅すぎてなんで遅いかを調べているときのログだな、これは。あとは、La Foneraをハックしようとがんばっていたときのやつも残ってる。
ソースコード
#! /opt/local/bin/gosh ;; -*- mode:scheme; coding:utf-8 -*- ;; ;; long_hist.scm - ;; ;; Copyright(C) 2008 by mzp ;; Author: MIZUNO Hiroki / mzpppp at gmail dot com ;; http://howdyworld.org ;; ;; Timestamp: 2008/11/18 22:14:35 ;; ;; This program is free software; you can redistribute it and/or ;; modify it under MIT Lincence. ;; (use srfi-1) (define (iport->list port) (port->list (cut read-line <> #t) port)) (define (<> args) (if (eq? args '()) (iport->list (standard-input-port)) (append-map (compose iport->list open-input-file) args))) (define (len-sort xs) (sort xs (lambda (x y) (> (string-length x) (string-length y))))) (define (main args) (for-each print (len-sort (<> (cdr args)))))