Linux notes:正则表达式1--Grep

来源:互联网 发布:山东广电网络客服电话 编辑:程序博客网 时间:2024/06/05 03:34

正则表达式

  • 一种字符串处理的表示方法
    • 以行为单位,处理字符串的方法,达到查找,删除,替换的功能。
      -工具vi,grep,awk,sed 等均支持正则表示法。所以工具程序都可用来通过正则表示法,处理字符串。
      -

Grep

在不同语系中攫取的结果不同

特殊符号 代表意义 [:alnum:] 代表英文大小写字节和数字 [:alpha:] 英文大小写字节 [:upper:] 大写字节 [:lower:] 小写字节 [:digit:] 数字

搜索特定字符串

dmesg|grep -n -A3 -B2 --color=auto 'eth' filename#dmesg: 列出关键信息#-n: ;列出行号#-v: 反向选择#-i:不区分大小写选择#A3,B2: 同时还列出搜索的结果前三行,后两行# color=auto, 给搜索结果显色

搜索结合字节

grep -n 't[ae]'st filename.txt#搜索taste和testgrep -n '[^g]oo' filename.txt#搜索除了goo的其他oogrep -n '[^a-z]oo' filename.txt#不要小写字符+oo,可以全部列出,但是ASCII码是一致的#[^]

仅搜索首行字节和尾行字节
^或$+[]

grep -n '^[[:lower:]]' filename.txt#第一个字节都小写, 与'[a-z]' 类似grep -n '^[a-zA-Z]' filename.txtgrep -n '\.$' filename.txt#以小数点结尾,因为小数点有特殊意义,所以用\解除它的特殊意义。grep -n 'e.e' regular_express.txt#小数点的特殊意义:一定有,一个,任意字符。grep -v '^$' filename.txt#找出空白行

搜索任意一个字节

grep -n 'g..d' filename.txt#g和d之前仅存在两个字节grep -n 'g*d' filename.txt#* 表示存在任意字节grep -n 'o*' filename.txt#寻找任意个连在一起的o

限定连续RE字符范围

grep -n 'o\{2\}' filename.txt#similar with 'o*'grep -n 'o\{2,5\}' filename.txt#找有2-5个o