加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AWK命令快速入门

发布时间:2020-12-15 07:13:04 所属栏目:安全 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 awk -F '文本切割符' '{处理过程}’ 文件名 如果不指定文本切割符,默认为空白符号 用$n表示切割后第n个部分 例如:jack:lucy:tom 用‘:’切割后,$1

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

awk -F '文本切割符' '{处理过程}’ 文件名
如果不指定文本切割符,默认为空白符号
用$n表示切割后第n个部分
例如:jack:lucy:tom
用‘:’切割后,$1为jack $2为lucy $3为tom
由简单到复杂的过程如下


cd ~
touch file.txt
last -n 5 > file.txt
cat file.txt
root     pts/1        :0.0             Sat Sep 20 05:11   still logged in   
root     :0                            Sat Sep 20 05:11   still logged in   
root     :0                            Sat Sep 20 05:11 - 05:11  (00:00)    
reboot   system boot  2.6.18-194.el5   Sat Sep 20 05:02          (00:10)    
root     pts/1        :0.0             Sat Sep 20 02:03 - crash  (02:59)


?
2 、用默认的空白符号作为分隔符,打印分割后的第一个部分
%%注意,一定不要忘记打文件名
awk '{print $1}' file.txt
root
root
root		
reboot
root

3 、用空白符作为分隔符,打印第二个部分
awk -F ' ' '{print $2}' file.txt
pts/1
:0
:0
system
pts/1


4 、用空白符作为分隔符,正则匹配开头是root的行,打印第二个部分
awk -F ' ' '/^root/{print $2}' file.txt 
pts/1
:0
:0



awk -F ' ' 'BEGIN{print "Begin..."} /^root/{print $2} END{print "End!"}' file.txt 
Begin...
pts/1
:0
:0
pts/1
End!


6 、用冒号作为分隔符,打印开始执行的信息,正则匹配开始是root的行,打印第二个部分,打印结束执行的信息
awk -F ':' 'BEGIN{print "Begin..."} /^root/{print $2;print "one line"} END{print "End!"}' file.txt 
Begin...
0.0             Sat Sep 20 05
one line
0                            Sat Sep 20 05
one line
0                            Sat Sep 20 05
one line
0.0             Sat Sep 20 02
one line
End!

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读