7.5

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将文件中所有行的第三段相加,并打印最终的值

猜你喜欢

转载自www.cnblogs.com/w494129131/p/9261103.html
7.5