下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
awk -F '文本切割符' '{处理过程}’ 文件名
如果不指定文本切割符,默认为空白符号
用$n表示切割后第n个部分
例如:jack:lucy:tom
用‘:’切割后,$1为jack $2为lucy $3为tom
由简单到复杂的过程如下
2 、用默认的空白符号作为分隔符,打印分割后的第一个部分
%%注意,一定不要忘记打文件名
3 、用空白符作为分隔符,打印第二个部分
4 、用空白符作为分隔符,正则匹配开头是root的行,打印第二个部分
6 、用冒号作为分隔符,打印开始执行的信息,正则匹配开始是root的行,打印第二个部分,打印结束执行的信息
如果不指定文本切割符,默认为空白符号
用$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!
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。