sedを使用し、市外局番301の後に209(3012093934、(301)2093935、(301)209-3936)の付いた電話番号を含むテキストファイルをインポートするスクリプトを作成しようとしています。地域番号と電話番号を区切るスペース、ダッシュ、括弧を削除する必要があります。その後、他のファイルに正しい番号を書く必要があります。正しい番号は、地域番号301で始まり、その後に209と正確に4桁が続くことです。
だから私の正規表現は次のように動作しないようです。
sed -n 's/(^301[\- ]*)/(209)/([0-9][0-9][0-9][0-9]$\)/p'
誰でも助けることができますか?よろしくお願いします! ! !
ベストアンサー1
数字以外の文字をすべて削除し、期待どおりに開始しない行を削除し、最後に長さが10文字以外の行を削除します。
sed -e 's/[^0-9]//g' -e '/^301209/!d' -e '/^.\{10\}$/!d'