Linux Bash:使用Bash脚本抓取文本文件以查找电话号码

Linux Bash:使用Bash脚本抓取文本文件以查找电话号码,linux,bash,shell,terminal,Linux,Bash,Shell,Terminal,我正在尝试使用grep编写一个脚本,以文本格式查找电话号码 电话号码的格式为: (XXXXX) XXXXXX XXXXX XXXXXX (XXXXX)XXXXXX 我写了以下脚本,但似乎不起作用: grep -E -o "\b[0-9]\{5\}[0-9]\{6\}\b" webpage.html| while read phone do echo "$phone" >> testp.txt done 有人能帮忙吗 grep -E

我正在尝试使用
grep
编写一个脚本,以文本格式查找电话号码

电话号码的格式为:

(XXXXX) XXXXXX
 XXXXX XXXXXX
(XXXXX)XXXXXX
我写了以下脚本,但似乎不起作用:

grep -E -o "\b[0-9]\{5\}[0-9]\{6\}\b" webpage.html|
while read phone
do
    echo "$phone" >> testp.txt
done
有人能帮忙吗

grep -Eo '\(?[[:digit:]]{5}\)?[[:space:]]?[[:digit:]]{6}' webpage.html > testp.txt

您需要避开开始和结束括号。搜索并打开括号0或1次,然后搜索5位数字,空格搜索一次或多次,数字搜索6次。

首先,阅读时放下
grep;使用echo>>文件
支持
grep>>文件
。然后请描述您遇到的问题(例如,对于输入…我期望输出…但得到了…相反)。OP希望附加到
testp.txt
,但您正在截断(
)。看起来他只使用了一个html文件,因此只对testp,txt文件进行了一次写入。