请教shell 文本过滤问题

忘世麒麟 2017-09-05 10:16:24
我文件夹下有N多文件,我希望从这所有的文件中,过滤出含有电话号码的行,输出到指定文件中.本人shell工具不熟,但是有点急,哪位大神可以给我点代码片段,谢谢!
...全文
354 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rayw0ng 2017-09-08
  • 打赏
  • 举报
回复
后面的单引号不对,然后论坛禁止我连续回复超过 3 次,所以改不了了。 这个是对的。
grep -ERh '\d{7}' path/to/dir/ > path/to/outfile
蓝染鬼道 2017-09-08
  • 打赏
  • 举报
回复
find ./ -type f|xargs egrep -oh '[0-9]{11}'
曹宇飞丶 2017-09-06
  • 打赏
  • 举报
回复

#!/bin/bash
#auth cy
for files in `ls /tmp/tel`
do
        file=`echo $files| awk -F / '{print}'`
        num=`grep "[0-9]\{11\}" $file`
        echo "$num" >> tel.txt
done
不晓得具体的应用,简单地码两行,试着用用
常书 2017-09-06
  • 打赏
  • 举报
回复
find . -type f|xargs grep -h '[1234567890]'>/tmp/result.txt
输出所有数字到result.txt
忘世麒麟 2017-09-06
  • 打赏
  • 举报
回复
引用 4 楼 baijiaheizhiganmao 的回复:
[quote=引用 3 楼 loneking2001 的回复:] 还少了个引号
grep -ERh '\d{7}‘ path/to/dir/ > path/to/outfile
多谢多谢![/quote] 忘记回复了,你的根本运行不了啊.
rayw0ng 2017-09-05
  • 打赏
  • 举报
回复
还少了个引号
grep -ERh '\d{7}‘ path/to/dir/ > path/to/outfile
rayw0ng 2017-09-05
  • 打赏
  • 举报
回复
抱歉少了个重定向
grep -ERh '\d{7} path/to/dir/ > path/to/outfile
rayw0ng 2017-09-05
  • 打赏
  • 举报
回复
grep -ERh '\d{7} path/to/dir/ path/to/outfile
这里匹配的是 7 个数字以上,如果需要对电话号码做更精准的限制,比如手机号,可以换成 ‘1\d{10}'。
忘世麒麟 2017-09-05
  • 打赏
  • 举报
回复
引用 3 楼 loneking2001 的回复:
还少了个引号
grep -ERh '\d{7}‘ path/to/dir/ > path/to/outfile
多谢多谢!

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧