Hatena::ブログ(Diary)

わからん

2012.03.31

Apacheスタートスクリプト読書会に参加しました

Apacheスタートスクリプト読書会 に参加しました。apachectl で lynx が使われているので、 grep の結果を w3m でみる wgrep を、昔開発環境勉強会で自慢している人がいたことを思い出し、そういえばあれから僕は、自分だけが使っているたぐいの超絶便利コマンド em を作り、grep |em だとか locate |em だとか日々愛用しているのだから、これを機会に接頭辞に昇格させてあげました。とても勉強になりました。


▼ emgrepr

#!/bin/bash

[ $# -eq 1 -o $# -eq 2 ] || { echo 'USEAGE: emgrepr word <path>'; exit 1; }

grep -r "$1" ${2:-$PWD } |em

▼ em (再掲)

#!/bin/bash

# 使用例
# $ ls |em
# or
# $ em a.txt

emacsclient=`which emacsclient 2>&1`
if [ ! $? -eq 0 ] || [ ! -x $emacsclient ]; then
  echo 'emacsclient が利用できません'
  exit 1
fi

if [ $# = 0 ]; then
  TMP_FILE=`mktemp /tmp/emacsclient.XXXXXX`
  cat > $TMP_FILE
  $emacsclient -a emacs -e "
    (let ((b (create-file-buffer \"*stdin*\")))
      (switch-to-buffer b)
      (insert-file-contents \"${TMP_FILE}\")
      (delete-file \"${TMP_FILE}\"))"
else
  $emacsclient -a emacs $@ &
fi

[] pipe-check コマンドを作成

標準入力の内容を、標準出力と標準エラー出力の両方に書きだす、pipe-check というコマンドを書きました。 foo | pipe-check | bar というように使います。

#!/usr/bin/env ruby

s = STDIN.read

STDOUT.write s
STDERR.write s
Google