> result.txt        el....">

当前位置:  操作系统/服务器>linux

shell脚本正则匹配文件中的Email并写入到文件中代码分享

    来源: 互联网  发布时间:2014-10-16

    本文导语:  代码如下: 代码如下:#! /bin/bashfunction read_file(){    for line in `cat $1`    do        if [ `echo $line |grep "^[a-zA-Z0-9_-]*@[A-Za-z_-]*.[a-zA-Z_-]*$"` ];then            echo $line >> result.txt        else            echo "---" >> result.tx...

代码如下:

代码如下:
#! /bin/bash
function read_file(){
    for line in `cat $1`
    do
        if [ `echo $line |grep "^[a-zA-Z0-9_-]*@[A-Za-z_-]*.[a-zA-Z_-]*$"` ];then
            echo $line >> result.txt
        else
            echo "---" >> result.txt
        fi
    done
}

#eg
read_file a.txt

附:常用的shell正则表达式

代码如下:

^USER$ 匹配只包含USER的行
[tty]$ 匹配以tty结尾的行
. 匹配带句点的行
^d..x..x..x 匹配用户、用户组及其他用户组成员有可执行权限的目录
^[^l] 匹配排除关联目录的目录列表
[.*0] 匹配0之前或之后加任意字符
[^$] 匹配空行
[^.*$] 匹配匹配行中任意字符串
^......$ 匹配包括6个字符的行
[a-zA-Z] 匹配任意单字符
[a-z][a-z]* 匹配至少一个小写字母
[^0-9$] 匹配非数字或美元标识
[^0-0A-Za-z] 匹配非数字或字母
De..ce 匹配前两个字母为De,后跟两个任意字符,最后为ce
[1..9] 匹配匹配1到9
^.$ 匹配仅有一个字符的行
^.[0-9][0-9] 匹配以一个句点和两个数字开始的行
'"Device"' 匹配单词device
De[Vv]ice. 匹配单词Device或deVice
[0-9]{2}-[0-9]{2}-[0-9]{4} 匹配日期格式dd-mm-yyyy
[^.*$] 匹配匹配任意行
^[1-9]d{5}$ 匹配邮政编码
((+?[0-9]{2,4}-[0-9]{3,4}-)|([0-9]{3,4}-))?([0-9]{7,8})(-[0-9]+)?$/ 匹配电话号码
(((d{2,3}))|(d{3}-))?13d{9}$ 匹配手机号码
(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$” 匹配IP地址
[u4e00-u9fa5] 匹配中文字符的正则表达式
[^x00-xff] 匹配双字节字符(包括汉字在内)
n[s| ]*r 匹配空行的正则表达式
/.*|/ 匹配HTML标记的正则表达式
(^s*)|(s*$) 匹配首尾空格的正则表达式
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 匹配Email地址的正则表达式
^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ 匹配网址URL的正则表达式
^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
(d{3}-|d{4}-)?(d{8}|d{7})? 匹配国内电话号码
^[1-9]*[1-9][0-9]*$ 匹配腾讯QQ号

    
 
 

您可能感兴趣的文章:

  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • 请教 一个shell问题 如何通过shell获得一个日志文件中的增量部分
  • 急救!关于Shell脚本删除过期文件的问题,Shell脚本达人乱入
  • 使用shell在文本文件中进行字符串搜索问题?shell高手请进,分不够可以再加
  • 请教一个shell编程的问题,就是如何在shell编程中读一个文件的内容?谢谢啦!
  • 在调用shell的程序文件时,怎样才能使编译后的可执行文件运行,象在shell状态下那样直接用咋不行呢?
  • shell:sql问题,如何shell循环将不同表数据写入文件中...
  • 在shell命令行中敲一个可执行文件,起一个进程pc,这个进程属于shell进程
  • Shell脚本如何递归现实一个文件夹中的文件(文件夹中含有文件夹)
  • 请教:shell遍历文件夹,处理其中的文件。
  • 急!如何从一个shell文件中传递一个参数到sql文件中,不能用存储过程
  • shell脚本剪切文件文件,并生成新文件的问题
  • shell 按当前时间作为文件名建立文件夹
  • 我想写一个shell脚本 把当前文件夹下的所有文件名改名
  • 请问如何用shell脚本将一个文本文件的某几行输入到另一个文件中。
  • 如何删除目录中文件名小于某个字符串的所有文件 shell
  • 求一个shell脚本 统计文件数目并删除一些文件
  • 怎么用shell创建连续文件名的文件??
  • 合并一个文件夹下多个文件内容的单行shell命令
  • Shell获取文件的文件名和扩展名的例子
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 请问shell编程正则表达式的问题
  • Shell script正则表达式提取匹配子串
  • 关于在shell脚本中使用正则表达式的问题
  • shell 对字符串进行正则操作
  • LINUX SHELL 正则处理汉字 问题
  • shell正则
  • linux shell正则的一个问题
  • shell脚本中判断字符串匹配正则式的问题
  • 救命Shell 正则表达式
  • 问一个shell正则
  • shell ip 正则表达式
  • shell 正则匹配问题 反向匹配 负匹配
  • 帮忙看看这个shell脚本,用正则匹配字符串为什么匹配不上
  • 问个linux shell正则表达式子的问题
  • shell 有没有整理正则表达式的命令?
  • shell中的正则表达式问题(很简单,大家过来接分)
  • 小弟刚接触shell,想做一个程式,但是难在正则表达式了, 请大侠帮忙看看。
  • 这个正则表达该怎么写(shell)
  • Shell编程 正则表达式
  • shell里怎么用正则表达式取子串
  • linux bash shell命令:grep文本搜索工具简介
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • shell变量和子shell的问题请教
  • 请问“当前shell”和“子shell”的区别?
  • 编程技术其它 iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3