次の行を含むテキストファイルがあります。
Maynard G. Krebs , ss #111−22−3333, the goofy but lovable beatnik in The Many
Loves of Dobie Gillis. None of the show's episodes ever specified Gilligan's
#111-22-3333
sedを使用して数字をに置き換えるにはxxx-xx-xxxx
?
私のsedスクリプトの内容は次のとおりです。
s/([0-9]{3}-[0-9]{2}-[0-9]{4})/xxx-xx-xxxx/g
私は実行します。sed -f redact.sed redact.txt
答え1
角かっこを削除します。それ以外の場合、Sedはファイル内の角かっこを一致させようとします。
{n}
拡張正規表現の一部です。 Sedにフラグを付け-E
て有効にするか(sed -Ef redact.sed redact.txt
)、各中括弧をエスケープします。ファイルには一種のダッシュ(0xE28892)が含まれています。これは以前の0x2D ASCIIではない
-
ため、これをSed式にも入力する必要があります。sed 's/[0-9]\{3\}−[0-9]\{2\}−[0-9]\{4\}/xxx-xx-xxxx/g' sed -E 's/[0-9]{3}−[0-9]{2}−[0-9]{4}/xxx-xx-xxxx/g'