Text-Processing
使用 sed 替換電話號碼
我的 txt 文件包含電話號碼
(233)- 332-9888
,我想將其替換為###-###-####
.我正在做
s|[0-9]{3}-[0-9]{3}-[0-9]{4}|###-###-####|g
(在擴展模式下),我的問題是我不知道如何在第一個匹配括號[0-9]{3}
sed -E 's|\([0-9]{3}\)- [0-9]{4}-[0-9]{4}|###-###-####|g'
括號需要轉義,因為它們在擴展正則表達式中被特殊處理。
如果您想將電話號碼替換為標準的 10 位類似 NANP 的字元串,即###-###-####:
$ echo "(123) -456-7890" | sed 's/(\([0-9]\{3\}\)) -\([0-9]\{3\}-[0-9]\{4\}\)/###-###-####/g' ###-###-####
如果要重新格式化電話號碼以匹配 10 位 NANP 格式:
$ echo "(123) -456-7890" | sed 's/(\([0-9]\{3\}\)) -\([0-9]\{3\}-[0-9]\{4\}\)/\1-\2/g' 123-456-7890