original page : http://ja.doukaku.org/252/
標準入力を読み込んで、行選択のUIをだし、選択されたものだけを標準出力にだしてください。
標準出力に出力するタイミングは選択終了をユーザーが報告したときです。(完了ボタンを想定してください)UIライブラリは何をつかってもかまいません。
例えばncursesのようなコンソール上でのUIでもかまいませんし、GtkのようなGUIライブラリでもかまいません。想定される使い方としては、以下のような感じです。
ps aux | handgrep | xargs kill -9
プロセスの一覧を表示、UI上で選択したものをkill
#9047
original page : http://ja.doukaku.org/comment/9047/
Rの標準機能だけで書いてみました。
標準入力を読ませたあと、excelのようなインターフェイスのデータエディタが起動するので、選択したい値の左にある"select"のカラムに0以外の値を記入してください。
hand.grep <- function(){ df <- edit(data.frame(select=0, value=readLines())) as.character(df[(df[,1]!=0),2]) }