« 補遺その2・sed以外の検索・置換(楽ちん度優先) | メイン | 自己紹介など »

よく寄せられる質問とそれに対するお答えをまとめてみました。わかる範囲で全力投球でお答えしていますが、力不足の場合はごめんなさい。
--------------------------------------------------------------------------------
Q1.sed "s/aaaa/bbbb/g" で、aaaaやbbbbが「/usr/local/etc/」など、「/」を多用する場合、エスケープする(=「\」or 「バックスラッシュ」を使う)のが大変なのだが?[00.06.30]
A1.デリミタ(/)は、別の記号に変えることができます※1。

つまり、sed "s/aaaa/bbbb/g"の代わりに、sed "s#aaaa#bbbb#g"と書いてもOKなんです。aaaaやbbbbの内容によって使い分けるのがよいと思います。awkも同じだと思います。

※1…どんな記号でもよい、というわけではないらしい。たとえば、Linux上で、sedのデリミタに「!」を使うと、bashに叱られます。しくしく。


--------------------------------------------------------------------------------
Q2.○○でプログラミングするには、どんな言語を使うとよいですか?(○○は変数。いろんな分野が入ると考えてください)[00.06.30]
A2.うっわー。そんなに難しいこと私のようなへっぽこスクリプターに聞かれてもわからないです。○○に詳しい方や専門家に聞いてみるか、○○に関連するメーリングリストやニューズグループ、掲示板などを見つけて質問を投げてみてくださいね。

--------------------------------------------------------------------------------
Q3.他に正規表現の例はない?[02.06.05]
A3. 詳しく説明されているサイトはたくさんあります。検索してみてください。私のおすすめは、Perlになってしまいますが、大崎さんのサイトにある「Perl正規表現雑技」です。また、木村さんの「正規表現メモ」は、grep/sed/awk/perlなどのツールで使用できるメタキャラクタの違いをまとめてらっしゃいます。ぶらぼぉです!さらに正規表現について深く学びたい方は、書籍を購入するのも手だと思います(手元にリファレンスとして置いておけますし)。

[参考]
Perl正規表現雑技
正規表現メモ
『詳説 正規表現』(書籍) (Jeffrey E.F.Friedl著,歌代和正監訳,春遍雀来,鈴木武生共訳,オライリージャパン)


トラックバック

このエントリーのトラックバックURL:
http://www.chimimo.com/mt/mt-tb.cgi/14

コメント (4)

定吉七番:

awkではデリミタは変えられません。
!を使って怒られるのはそれがシェル(bash)にとって特別な意味を持っているからです。コマンドを '' (シングルクォート)で括れば怒られません。

awkは-Fで変えられますね。例:awk -F# (#がデリミタ)

定吉七番:

-F で変えられるのは FS の内容、つまりフィールドの区切り(セパレータ)です。わたしが云っているのは正規表現を囲む記号のことです。

awkのフィールド区切りがデフォルトではスペースなのを他の記号に変えるのが-Fですね。

で、てっきりその話をされているのかと思っていましたが、正規表現を囲む記号のことでしたか。それならawkの話を書くのは不適切でしたね。

正確性が足りないということで今後もご指摘が続くのでしたら、sedのカテゴリごと削除も検討します。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2006年08月07日 22:57に投稿されたエントリーのページです。

ひとつ前の投稿は「補遺その2・sed以外の検索・置換(楽ちん度優先)」です。

次の投稿は「自己紹介など」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

www.flickr.com
chimimo's photos More of chimimo's photos
Powered by
Movable Type