linux正则表达式行首是数字,51CTO博客-专业IT技术博客创作平台-技术成就梦想

grep 正则表达式

1 基础的正则表达式

1 ^word 表示搜索以word 开头的内容

2  word$ 表示搜索以word结尾的内容

3  ^$    表示空行,不是空格

4  .     代表且只能代表任意一个字符

5  \     转义字符,让着有特殊意义的字符,脱掉马甲还原本来的样子

例如:\.只表示小数点,还原原始小数点的意义

6  *  重复0个或多个前面的一个字符。不代表所有了。

7 .*  匹配所有的字符 ^.* 任意多个字符开头。

grep

-v   排除内容

-E   扩张的正则表达式

-i   忽略大小写

-o   只输出匹配的内容

--color=auto  显示颜色

-n 在行首显示行号

-R   递归搜索相关的字符串

awk "NR>2 && NR<10" 2.txt   AWK 打印行  比如大于2 并且小于10 的行  利用AWK 处理行内容

一、正则表达式

正则表达式是组成“样式”的基本语法,而“样式”是运用sed和awk必备的能力。sed和awk相同的运行方式是:只要符合“样式”的数据行,就对它执行指定的“操作”。

什么是正则表达式?

正则表达式是一种描述的方法,一种小型的语言,可表示某种样式或若干种样式的组合,它的威力在于仅需几个简单的字符,便可代表许多字符串共同的样子。

1、. 代表任意字符

.a. 代表中间为a,两边随意字符的3个字符。(若要对比.本身需要用\转义)

2、^ 代表在行首

^abc  abd应该出现在行首。"abc,hello"和"hello abc" 前者符合后者不符合

3、$ 代表在尾部

$abc  abd应该出现在行尾。"abc,hello"和"hello abc" 后者符合前者不符合

4、[...] 字符集合

[...] 代表字符 串行中的一个字符 [aBc]代表a或B或c。[A-Z]一个大写[^A-Z]除了大写之外的一个字符。

5、*出现0个以上

a*c可以是abc、abbc、abbbc、aSJKSKBKc.....

6、\{...\}指定符合的个数

\{3,5\}前边的字符有3~5个。[a-z]\{3,5\}代表以小写字母组成的字符串,长度为3~5个

7、\(..\)把对比符合的字符串暂时保存起来

a\(..\)b要保存a、b之间的2个字符,若要提取保存的字符串,可用位置参数,\1代表第一个保存的字符串,\2代表第二个保持的字符串。

二、扩展正则表达式

RE字符  意义与范例

+    重复1个或1个以上的前一个RE字符

egrep 'go+d' file 搜寻范围是 god good goood gooood......等

?0个或1个的前一个RE字符

egrep 'go?d' file 搜寻范围 god good

|     用或(or)的方式找出字符串

egrep 'g(la|oo)d file 搜寻范围 glad good

()+    多个重复群组的判别

echo "AxyzxyzxyzxyzC" |egrep 'A(xyz)C' 意思是A开头,C结尾,中间有一个以上的"xyz"字符串的意思

注意:  !在正规表达式中不是特殊字符,如果要查包含!与]' file

[!a-z] 这样反响选择是错误的,[^a-z] 这样才是正确的。

格式化打印:printf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值