web-dev-qa-db-ja.com

PCREでsed(grep -Pなど)

grep-Pオプション付きのPerl互換正規表現をサポートしていることを嬉しく思います。

ツールsedにこの機能がない理由はありますか?

6
guettli

GNU Sedの場合、 stated reason

私はそれがそれらの「ひび割れ」の1つに落ちたのではないかと心配していました...当時言われていたことから、作業の一部はすでに完了しており、ドキュメントとパッケージングの問題のように見えました...(私は認めますが、Computer Sciでは、作業の最後の10%に90%の時間がかかることがよくあります...

GNUバグレポートログ-コミットされた変更に関する#22801ステータス:perlRE構文を含む 'sed' REのアップグレード を参照するか、 sed-devel Archives で「PCRE」を検索します。詳細が必要です。

PerlでPCREを使用する単純なワンライナーの多くにsed自体を使用できることを忘れないでください。

5
steeldriver

回避策:

Pathological Eclectic Rubbish Listerを使用できます。

Perl -pe 's/../../g' file

またはインライン置換:

Perl -pie 's/../../g' file

これは、sedを使用する場合に機能します。事態がさら​​に複雑になる場合は、小さなpythonスクリプトを作成します。

2
guettli