気をつけろ

いわゆる指定された文字列を出力するコマンドですね. 知らない人も多いみたいですが,echoも実はいくつかのオプションを受け付けます.

気をつけろ。いまどきの echo は大抵 shell の組み込みコマンドだ。bash/zsh では echo(1) と同じ挙動を示すが、tcsh は違う。

% tcsh
% set echo_style=none; echo -n hello
-n hello

% set echo_style=bsd; echo -n hello
hello
% set echo_style=sysv; echo -n hello
-n hello

% set echo_style=both; echo -n hello
hello

sedは通常行指向でテキストの置換などを行うときに使用します. しかし,通常その結果は標準出力に出てくるだけですが,-iを使用することで実際に入力に使用したファイルを置換することができます.

気をつけろ。-i は GNU sedの拡張オプションだ。Linux ではほぼ確実に GNU sed が使われているが、Solaris などでは違う。FreeBSD なんかも違うかもしれないけど、よく知らない。
Perl が使えるなら

sed -i 's/foo/bar/g' filename

より

perl -i -pe 's/foo/bar/g' filename

の方がいいかもしれない。
しかし、上鍵さんは xargs は使わないのだろうか、と思うわけだが、とりあえず、id:lurker さんの記事に期待しつつあまり書かないことにする。

追記

GNU find は検索対象のパスを省略できるが、通常は省略できない。たとえば GNU find では

find -type f

は OK だが、SolarisFreeBSD では NG。多分、MacOS X でも駄目じゃないかな。ちゃんとこうする。

find . -type f