sed
提供: MacWiki
sed とは?
Mac OS X に標準で搭載されているテキスト変換、抽出などを行うのに使用されるプログラム。詳しくは Wikipedia:sed などを参照して下さい。iSED は旧Mac OSでも使用できます。
iSED
- ストリームエディタ「GNU sed」最新版が公開 - GPLv3にライセンス変更 - マイコミジャーナル (2009-05-01)
- http://homepage.mac.com/matsuan_tamachan/software/GnuSed.html
Tips
テキストの一部を抽出
- 1行目から最初の空行までを表示
sed -n '1,/^$/p' filename.txt
1行目から最初の空行までを除いて表示
sed '1,/^$/d' filename.txt
拡張正規表現を使うには
sed で用いることのできる正規表現は POSIX で分類されるところの基本正規表現 (Basic Regular Expressions - BRE) になります。 BRE では、パターンの繰り返し回数を指定する +, ?, {m,n} や lookahead を表す (?=...), (?!...) の記法がサポートされていません。
拡張正規表現 (Extended Regular Expression - ERE) を使いたい場合には、sed の -E オプションを利用できます。 ただし、-E オプションは FreeBSD 由来の sed でしか使えないことに注意してください。 (Mac OS X の sed は FreeBSD の系統に属します。)
あるいは、perl のワンライナーで済ませる方法もあります。可搬性を考えるなら、こちらのほうが良いでしょう。
(ex.) $ perl -pi.bak -e "s|foo|bar|g" zod.txt
GNU sed
標準搭載されている sed ではなく GNU sed もインストールしてもよい。解説は http://homepage.mac.com/matsuan_tamachan/software/GnuSed.html
$ /usr/local/bin/sed --version GNU sed version 4.2.1