linux命令三剑客之grep,linux 三剑客命令(grep,sed ,awk)

linux 三剑客命令(grep,sed ,awk)

linux 三剑客命令(grep,sed ,awk)

1.grep -n 'word' file_name

在file_name文件中找到word所在的所有行并显示。-n 为显示行号。

e4ea9b693560117fd8e6059d200939e8.png

2.grep 'w[ea]ll' file_name

在file_name文件中找到wall 或者是well 所在的所有行并显示

aa37efdd77347e08ab15a1b2915f5bf0.png

3.grep 'w[^e]ll' file_name

在file_name文件中找到”非well” 所在的所有行并显示

42f8145e645a21b1f0053143642e562b.png

4.grep '^The' file_name

在file_name文件中找到以The开头的所有行并显示(请与上一条命令进行区别)

d48eb2c68e2f8ddda415c79b5d20f7d4.png

5. grep 'goo..le' file_name

在file_name文件中找到goo(任意字符)(任意字符)le的所有行并显示(即总共七个字符)

1af3fd9e42328ba0c386b335412041c7.png

6.grep 'g*g' file_name

在file_name文件中找到g , gg , ggg等的所有行并显示(*代表重复前一个字符0~~无穷多次)

a06eed97d737bd56dd642e9ce22bf4ff.png

7.grep 'Ty\{2,3\}' file_name

在file_name文件中找到Tyy,Tyyy的所有行并显示(注意{}在 shell中有特殊含义,故需要转义)

fb60e1dafb3db6b0de9ab720310ea384.png

注意 : grep可以使用grep –color=always 来使得所查找的字符拥有特殊颜色,然后在执行source ~/.bashrc 来使得设置立即生效。

1.sed '2,4d' file_name

删除file_name文件的2到4行

2.sed '2a liu .....\

>shengxi is shuai !!!' file_name

在第二行下新增这样两行

e5b86beeb313430cc616e7e5322bf97f.png

3.sed '2,4c ni han ma a !!!' file_name

把file_name文件的2到4行,替换为ni han ma a !!

4.sed '2,5p' -n file_name

把file_name文件的2到5行打印出来(不用-n 参数,就会重复输出2到5行)

5.sed -i 's/a\[t\]\./p_temp->/g' file_name

把file_name文件中的a[t]. 全部替换为p_temp-> (-i 会直接将修改写入文件,[ ] 和 . 是特殊符号,需要用\来转义一下)

先介绍一些关于awk的用法:

1.$0 代表一整行的数据

2.$1 代表第一个字段,用人的话来说就是第一列的数据

3.$2 以此类推

4.NF 每一行拥有的字段总数

5.NR 目前处理的是第几行的数据

6.FS 目前的分隔字符

7.命令格式 :awk '条件{命令1} 条件{命令2}...' file_name

具体命令:

1. awk 'NR<6{print $1 "\t" $2 }' file_name

把file_name 文件中的前五行的第一列,第二列的数据列出来 (以[tab]或空格键分隔)

8ad6161f0fa1a6caa249ffa780827828.png

1693469f8cb112cf03fcd368b099ec23.png

2.awk '{print "该行数据为" $0 "\t" "该行的字段总数为" NF "\t" "目前这是第几行" NR}' file_name

dedb184438cb12de1ed1690230ea63fc.png

3. awk 'BEGIN{FS=":"} $3<10{print $1 "\t" $3}' /etc/passwd

把/etc/passwd文件的第一列与第三列列出来(BEGIN可以让我们自己设置的分隔字符立即生效)

/etc/passwd 文件中第一列是帐户,第三列是UID(就是用户ID)。该文件以 : 号分隔,一行代表一个用户,记录关于用户的各种信息。

acee11a3806d6dd6946ef8266b16e4be.png

特殊说明:

1.print 默认带有换行符,printf 没有

f59e727d2fce6977252e181ffaa8cd22.png

2.像\n ,\t,这种符号应该用双引号括起来

3.NR,NF等变量要用大写,并且不需要 $

-记住三个命令的运用形式

grep '字符' 文件

sed '命令' 文件

awk '条件{命令}' 文件

-死记一点,单引号内就是正则表达式的用法

重复一遍:单引号内一定是正则表达式,一定,一定!!!

最后附上一个查询命令的链接地址:查命令

下一篇将贴一个我写的入门式脚本,仅供娱乐!

linux 三剑客命令(grep,sed ,awk)相关教程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值