linux sed seq,linux   sed   seq awk 部分

#include 

using namespace std;

int main()

{

int a[4]={1,2,3};

cout<<2[a]<

return 0;

}

[sts@localhost 20160731]$ echo "wz" | grep '.'

wz

[sts@localhost 20160731]$ echo "wz" | grep 'w'

wz

[sts@localhost 20160731]$ echo "wz zx" | grep 'wz.'

wz zx

[sts@localhost 20160731]$ echo "wz zx" | grep '.z'

wz zx

[sts@localhost 20160731]$ su

Password:

[root@localhost 20160731]# echo "wz zx" | grep '.z'

wz zx

[root@localhost 20160731]# echo "wz zx" | grep '.x'

wz zx

[root@localhost 20160731]# echo "wz zx" | grep 'w[abcz]'

wz zx

[root@localhost 20160731]# echo "wz zx" | grep 'w[0-9]'

[root@localhost 20160731]# echo "wz zx" | grep 'w[^0-9]'

wz zx

[root@localhost 20160731]# echo "wz zx" | grep 'w[[:digit:]]'

[root@localhost 20160731]# echo "wz zx" | grep 'w[[:alpha:]]'

wz zx

[root@localhost 20160731]# echo "wz zx" | grep '.?'

[root@localhost 20160731]# echo "wz zx" | grep '.+'

[root@localhost 20160731]# echo "" | grep '.+'

[root@localhost 20160731]# echo "a" | grep '.+'

[root@localhost 20160731]# echo "a2" | grep '.[2-5]+'

[root@localhost 20160731]# echo "a2" | grep '.[2-5]?'

[root@localhost 20160731]# echo "a2" | grep '.{3,}'

[root@localhost 20160731]# echo "a22" | grep '.{3,}'

[root@localhost 20160731]# echo "a22" | grep '.{3}'

[root@localhost 20160731]# echo "a22123" | grep '.{3}'

[root@localhost 20160731]#

[root@localhost 20160731]# echo "a22123" | grep '.{,3}'

[root@localhost 20160731]#

[root@localhost 20160731]# echo "aaa" | grep 'a{1,3}'

[root@localhost 20160731]# echo "aaa bbb" | grep '^b'

[root@localhost 20160731]# echo "aaa bbb" | grep '^a'

aaa bbb

[root@localhost 20160731]# echo "aaa bbb" | grep 'b$'

aaa bbb

[root@localhost 20160731]# echo "aaa bbb " | grep 'b$'

[root@localhost 20160731]# echo "aaa bbb " | grep 'b\b'

aaa bbb

[root@localhost 20160731]# echo "aaa bbb " | grep 'b\B'

aaa bbb

[root@localhost 20160731]# echo "aaa bbb " | grep '\B'

aaa bbb

[root@localhost 20160731]# echo "aaa bbb " | grep '\Ba'

aaa bbb

[root@localhost 20160731]# echo "xxaaaxx bbb " | grep '\Ba\B'

xxaaaxx bbb

[root@localhost 20160731]# echo "aaa bbb " | grep '\Ba\B'

aaa bbb

[root@localhost 20160731]# echo "ab121212 " | grep '12{3}'

[root@localhost 20160731]# echo "ab121212222 " | grep '12{3}'

[root@localhost 20160731]# echo "ab121212222 " | grep '(12){3}'

[root@localhost 20160731]# echo "ab121212222()" | grep '\(\){3}'

[root@localhost 20160731]# echo "ab121212222()" | grep '\(\)$'

ab121212222()

[root@localhost 20160731]# echo "ab121212222()" | grep '\(\)$|(12){3}'

[root@localhost 20160731]#

[root@localhost 20160731]# echo "ab121212222()" | grep '\(\)$|(12){3}|^a'

[root@localhost 20160731]#

190  vim file

191  grep '[0-9]{2,11}' file

192  grep -E --color '[0-9]{2,11}' file

193  grep -E --color '^[0-9]{2,11}$' file

194  history 5

匹配电话 1开头 第二位不为1 2 6

全部是数字开头到结尾

[root@localhost 20160731]# grep -E --color '^1[345789][0-9]{2,11}$' file

[root@localhost 20160731]# grep -E -@163.com$' file

> history 5^C

匹配邮箱 字符数开头  标准符号结尾

[root@localhost 20160731]# grep -E --color '^[a-ZA-Z0-9_]+@163.com$' file

[root@localhost 20160731]# grep  --color '^[a-ZA-Z0-9_]+@163.com$' file

[root@localhost 20160731]# grep  --color '^[a-ZA-Z0-9_]\+@163.com$' file

匹配IP  3段重复 与一段结尾

[root@localhost 20160731]# grep  --color '([0-9]{1,3}.){3}[0-9]{1,3}' file

[root@localhost 20160731]# grep  --color '^([0-9]{1,3}\.){3}[0-9]{1,3}$' file

[root@localhost 20160731]# grep  --color '^\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}$' file

-E

扩展基准匹配  ()  |  {} + ? 特殊含义  字面意思需要转义

正则基准匹配

【字符类  次数限定 位置限定】

6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟)

3 4 3 4 6 4 3 4 3

高度的复用性

以(0,0)为心  边长 2 的 正方形4角加(-1,0) (1,0) (0,2)(0,-2)

【sed】

从文件中读一行就匹配处理

到缓冲区 (别名 模式空间)

[root@localhost 20160731]# sed '/^c/s/^/\/\//' abc

aaa

bbb

//ccc

ddd

[root@localhost 20160731]# sed '/c$/p' abc    查找  性质

aaa

bbb

ccc

ccc

ddd

[root@localhost 20160731]# cat abc

aaa

bbb

ccc

ddd

[root@localhost 20160731]# sed -n '/c$/p' abc

ccc

[root@localhost 20160731]# sed -n '/^.*\/\//d' abc    不影响原文件

[root@localhost 20160731]# cat abc

aaa

bbb

//ccc

ddd

[root@localhost 20160731]# sed -i '/^.*\/\//d' abc   删除abc文件中注释行  -i选项

[root@localhost 20160731]# cat abc

aaa

bbb

ddd

[root@localhost 20160731]# sed -i '/ddd/s/ddd/ccc/g' abc   将ddd行替换为ccc

[root@localhost 20160731]# cat abc

aaa

bbb

ccc

[root@localhost 20160731]#

注释 5到 10  行5,10 s/^/\/\//

[root@localhost 20160731]# sed   '/a\+/s/a/~a~/' abc

//~a~aa

//bbb

//ccc

[root@localhost 20160731]# sed   '/a\+/s/a/~a~/g' abc   加g选项就多次执行

//~a~~a~~a~

//bbb

//ccc

[root@localhost 20160731]# sed -n '3p' abc

//ccc

[root@localhost 20160731]# sed -n '1,3p' abc  打印第3行与前3行

//aaa

//bbb

//ccc

[root@localhost 20160731]# sed -n  '/aaa/,/ccc/p'  abc等价于用标签性打印

//aaa

//bbb

//ccc

[root@localhost 20160731]# sed -n  '/aaa/,3p'  abc      可以混用

//aaa

//bbb

//ccc

[root@localhost 20160731]# 以下进行3个例子

eg1

保持空间,工厂对产品或半成品保存的地方

sed     模式空间         保持空间

工厂     流水线          库房

(1.默认情况下 sed不会使用保存空间,仅仅显示地运用某些命令时才会被使用)

(2.仅仅保存数据,带来意想不到的效果)

Gg H h

get  hold  大写全是追加 不刷新

n     会刷新 N 会更新一行

[root@localhost 20160731]# cat abc

//aaa

//bbb

//ccc

[root@localhost 20160731]# sed 'G' abc   显示行加空行

//aaa

//bbb

//ccc

[root@localhost 20160731]# sed '/b$/G' abc   指定行 b结尾的行加空行

//aaa

//bbb

//ccc

[root@localhost 20160731]# tac abc         倒序读

//ccc

//bbb

//aaa

[root@localhost 20160731]# sed -ne 'H;${x;s/\n/ /g;p}' abc 行列互换 分号;加多命令 H即hold意思

//aaa //bbb //ccc

[root@localhost 20160731]# seq  10

1

2

3

4

5

6

7

8

9

10

[root@localhost 20160731]# sed -e '/ddd/H'  -e '$G'  abc

//aaa

//bbb

//ccc

[root@localhost 20160731]# cat abc

//aaa

//bbb

//ccc

[root@localhost 20160731]# sed -e '/ddd/H'  -e '$G'  abc  没成功

//aaa

//bbb

//ccc

[root@localhost 20160731]# seq 100 | sed -ne 'H;${x;s/\n/*/g;s/^*//;p}'

1*2*3*4*5*6*7*8*9*10*11*12*13*14*15*16*17*18*19*20*21*22*23*24*25*26*27*28*29*30*31*32*33*34*35*36*37*38*39*40*41*42*43*44*45*46*47*48*49*50*51*52*53*54*55*56*57*58*59*60*61*62*63*64*65*66*67*68*69*70*71*72*73*74*75*76*77*78*79*80*81*82*83*84*85*86*87*88*89*90*91*92*93*94*95*96*97*98*99*100

[root@localhost 20160731]# seq 100 | sed -ne 'H;${x;s/\n/+/g;s/^+//;p}' | bc

5050

[root@localhost 20160731]# sed -n 'n;p' abc   奇数行

//bbb

[root@localhost 20160731]# sed -n 'p;n' abc  偶数行 从0开始

//aaa

//ccc

[root@localhost 20160731]# awk '{print $2;}' abc

11

22

33

[root@localhost 20160731]# awk '{print $0;}' abc

//aaa    11

//bbb    22

//ccc    33

[root@localhost 20160731]#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值