码迷,mamicode.com
首页 > 其他好文 > 详细

7.5

时间:2018-07-04 21:03:36      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:etc   int   技术   打印   awk   显示   大于   str   cat   

1、awk

  awk可以分段进行匹配,如匹配文件中第一段保护root的所有行,并进行打印

  awk -F ‘:‘ ‘{print $1}‘ test.txt指定文件的分隔符为:,并将第一段打印出来

技术分享图片

awk -F ‘:‘ ‘{print $}‘ test.txt指定文件的分隔符为:,并将所有段打印出来,其中$0表示所有的段

技术分享图片

  也可以使用awk ‘{print $0}‘ test.txt进行打印所有内容,相当于cat

技术分享图片

  在不使用-F选项指定分隔符时,awk默认使用空格为分隔符

技术分享图片

 awk -F ‘:‘ ‘{print $1,$3,$4}‘ test.txt,打印第1、3、4段

 技术分享图片

  awk ‘/oo/‘ test.txt打印文件中包含oo的行

技术分享图片

  awk -F ‘$1 ~ /oo/‘ test.txt查找文件中第一段保护oo的行

技术分享图片

  awk也支持正则表达式,如awk -F ‘$1 ~ /o+/‘ test.txt查找文件中所有包含o的行,在使用正则表达式时,不需要使用脱义字符

技术分享图片

技术分享图片

  awk也支持多个表达式同时写,awk -F ‘:‘ ‘/root/ {print $1,$3} /user/ {print $3,$4}‘ test.txt将文件中包含root的行打印第1、3段,包含user的打印第3、4段

技术分享图片

  awk -F ‘:‘ ‘/root|user/ {print $0}‘ test.txt打印文件中所有包含root或user的行

技术分享图片

  awk -F ‘:‘ ‘$3==0 {print $1}‘ test.txt查找文件中第三段等于0的行,并打印该行的第一段

技术分享图片

  awk -F ‘:‘ ‘$3>=1000  {print $1}‘ test.txt查找文件中第三段大于等于1000的行,并打印该行的第一段

技术分享图片

  awk -F ‘:‘ ‘$3>="1000" {print $0}‘ test.txt查找文件中第三段大于等于1000的行,此时的1000按照ASIC的方式进行大小排序,1000为字符串

技术分享图片

  awk -F ‘:‘ ‘$7!="/sbin/nologin" {print $0}‘ test.txt查找文件中所有第七段不为/sbin/nologin的行

技术分享图片

   awk -F ‘:‘ ‘$3<$4‘ test.txt查找文件中所有第三段小于第四段的行

技术分享图片

   awk -F ‘:‘ ‘$3==$4‘ test.txt查找文件中所有第三段等于第四段的行

技术分享图片

  awk -F ‘:‘ ‘$3>"5" && $3<"7" ‘ test.txt查找文件中第三段大于5小于7的行

技术分享图片

  awk -F ‘:‘ ‘$3>1000 || $7=="/sbin/nologin" ‘ test.txt查找文件中第三段大于1000,第七段为/sbin/nologin的行

技术分享图片

  awk -F ‘:‘ ‘$3>1000 || $7 ~/bash/ ‘ test.txt查找文件中第三段大于1000,且第七段包含bash的行

技术分享图片

  OFS:指定打印时采用的分隔符

  awk -F ‘:‘ ‘{OFS=‘#‘} $3>1000 || $7 ~/bash/ ‘ {print $1,$3,$7}‘ test.txt查找文件中第三段大于1000,且第七段包含bash的行,并打印第1、3、7行,每段之间采用#分隔符

技术分享图片

  awk -F ‘:‘ ‘{OFS=‘#‘} {$3>1000  {print $1,$2,$3,$4}‘ test.txt也可以采用if语句,查找文件中第三段大于1000的行,并打印该行的第1、2、3、4段,使用#作为分隔符

技术分享图片

  awk -F ‘:‘ ‘{print NR  ":" $0}‘ test.txt 在打印文件内容时显示行号

技术分享图片

awk -F ‘:‘ ‘{print NF  ":" $0}‘ test.txt 在打印文件内容时显示每行有多少段

技术分享图片

awk -F ‘:‘ ‘NR<=10‘ test.txt打印文件的前10行

技术分享图片

awk -F ‘:‘ ‘NR<=10 && $1 ~/root|sync/‘ test.txt查找并打印前10行中,第一段包含root或sync的行

技术分享图片

awk -F ‘:‘ ‘NF==6 && $1 ~/root|sync/‘ test.txt查找并打印文件中只有6段,且第一段中包含root或sync的行

技术分享图片

awk -F ‘:‘ ‘{print $NR ":" $NF}‘ test.txt

 技术分享图片

head -n 3 /etc/passwd |awk -F ":‘ ‘$1="root‘ ‘:打印文件的前三行,并将每行的第一段赋值为root

技术分享图片

awk -F ":‘ ‘{(tot=tot+3)};END{print tot}‘ test.txt将文件中所有行的第三段相加,并打印最终的值

技术分享图片

 

7.5

标签:etc   int   技术   打印   awk   显示   大于   str   cat   

原文地址:https://www.cnblogs.com/w494129131/p/9261103.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!