

可以对海量的数据进行提取。

-v对提取的内容进行取反。

-n显示出行号。
-w精确匹配:

-i:忽略大小写:


-E正则匹配:

cut命令:


-d指定分隔符,-f指定截取区域:


截取第一列到第三列:


截取第二列到最后一列


也可以使用管道符的形式:


 不加-d看看默认是什么样子的:


截取不出来,因为没有空格,所以就把全部的内容返回回来了。

-c命令:
截取2-9行


eg:比如领导想叫你截取linux上面所有可登陆普通用户
/etc/passwd目录下存放了很多用户的信息。

/bin/bash下是可登录的用户。 /nologin是不可登录的系统用户。

但是root是超级用户,我们也不想把root提取出来,所以我们这里使用grep的-v取反命令:

awk命令


输出:





df -h linux中的磁盘分区使用率


我们可以用这个命令打印出使用率。

bc计算器,如果整数是0,不会显示出来,会自动省略,但是借助awk就可以把整数位的0显示出来
了。


-f可以指定分隔符。

用我们之前的cut命令也是可以的。
我们也可以指定从什么符号开始:

这个和刚才的返回结果相同。
END符号


end符号的作用是在最后命令执行完毕才会打印出来。
awk的最后一个符号,NR符号:

指定打印第几行的内容。
也可以打印第2-5行的内容:


我们之前学过nl打印行号。
我们也可以使用awk取出第几行到第几行的行号。

以上就是awk的大概应用。

-n:
以打印第二行为例:

d:

这里的删除不会对源文件产生影响,只会是把显示出的内容进行减少显示。

a:插入新的内容(下面)

对源文件依旧没有影响。
i:在上面添加新的内容:

c:替换:

依旧不影响原文件。
s:取代指定内容:

-i添加内容,改变原文件,尽量不要使用:
我们现在去查找100%的行:

-e:做多个动作:

这里是先把内容输出再去修改输出的内容,所以对字符串的改动并不会在页面上显示出来。
所以我们现在来示范一下先改变内容再打印输出:
这些内容经常会一起使用。



















