カレントディレクトリ内の、拡張子が ".txt" の全ファイルについて、文字列 OLD を NEW に置換したい場合、 sed sed -i.bak -e 's/OLD/NEW/g' *.txt -i は in-place(その場で)の意味で、要するに上書き(書き戻し編集)の指定。 引数を付けるとバックアップファイル*1を作成する(残す)。 意味的には以下と同じ↓ for FILE in *.txt do cp $FILE $FILE.bak sed -e 's/OLD/NEW/g' $FILE.bak > $FILE done ruby ruby -i.bak -pe '$_.gsub!(/OLD/, "NEW")' *.txt -i オプションの意味は sed と同じ。 -p と -e を組み合わせると、内部では以下のように処理される↓ while $_ = gets $_.gsub!