「sed」の版間の差分

提供: MacWiki
移動: 案内検索
(sed とは?)
行4: 行4:
  
 
iSED
 
iSED
*http://homepage.mac.com/lightway/download/index.html
+
*http://www.jp-lightway.com/download/index.html
  
 
*[http://journal.mycom.co.jp/news/2009/05/01/070/index.html ストリームエディタ「GNU sed」最新版が公開 - GPLv3にライセンス変更] - マイコミジャーナル (2009-05-01)
 
*[http://journal.mycom.co.jp/news/2009/05/01/070/index.html ストリームエディタ「GNU sed」最新版が公開 - GPLv3にライセンス変更] - マイコミジャーナル (2009-05-01)

2012年7月1日 (日) 18:26時点における版

sed とは?

Mac OS X に標準で搭載されているテキスト変換、抽出などを行うのに使用されるプログラム。詳しくは Wikipedia:sed などを参照して下さい。iSED は旧Mac OSでも使用できます。

iSED

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


Wiki内の関連ページ