Linux学习之正则表达式

来源:互联网 发布:网络有好有坏的英文 编辑:程序博客网 时间:2024/06/05 16:40

正则表达式用于查找,替换等字符串处理。

grep用于整个信息的抓取,sed以行为单位处理,awk以列为单位处理

grep 用于字符串数据对比

  • 搜索特定字符串
     grep -n 'the'  filename.txt        //搜索字符串the,并显示行号
     grep -vn 'the' filename.txt//搜索不包含字符串the,并显示行号
    

  • 利用中括号搜索集合字符串
     grep -n 't[ae]st'  filename.txt//搜索包含字符串tast或者test,并显示行号
     grep -n '[0-9]'  filename.txt//搜索包含数字,并显示行号

  • 搜索行首与行尾
      grep -n '^the’  filename.txt//搜索以the开头的行
      grep -n '\.the’  filename.txt//搜索以the结尾的行(\为转义)
  • 任意一个字符和重复字符
      grep -n 'g..d’  filename.txt //搜索g??d(一个点为代表一个字符)
      grep -n 'g*d’  filename.txt //搜索g*d(一个星为代表零个到多个字符)



sed工具

  •   以行为单位的新增/删除功能
      nl filename.txt | sed '2,5d'//输出时,选择不输出2-5行
      nl filename.txt | sed '2a drink tea'//输出时,第二行行尾加上drink tea

  • 以行为单位的替换和显示功能
      nl filename.txt | sed '2,5 drink '    //输出时,第2-5行替换为drink
  • 部分数据的搜寻并取代功能
  • 直接修改文件内容(危险动作)


awk工具

相比sed常常作用于整个列的处理
  • 打印出第一列和第二列
      last -n 5 | awk '{print $1 '\t' $2}'

0 0
原创粉丝点击