Linux学习笔记(二十八)awk
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习笔记(二十八)awk相关的知识,希望对你有一定的参考价值。
head -n2 test.txt|awk -F ‘:‘ ‘{print $1}‘ //文件的前两行,以:分隔,打印第一段
head -n2 test.txt|awk -F ‘:‘ ‘{print $0}‘ //文件的前两行,以:分隔,打印所有的内容($N就是第N段,0就是所有字段),输出所有字段时可以省略-F
awk -F ‘:‘ ‘{print $1"#"$2"#"$3"#"$4}‘ test.txt //以:分隔,取前四段,之间用#分隔
-F选项省略时,默认以空格或者空白字符为分隔符
awk -F ‘:‘ ‘{print $1,$2,$3,$4}‘ test.txt //以:分隔,输出前四段
awk ‘/oo/‘ test.txt //输出包含oo的行
awk -F ‘:‘ ‘$1 ~/oo/‘ test.txt //以:分隔,第一段包含oo的行
awk -F ‘:‘ ‘/root/ {print $1,$3} /test/ {print $2,$4}‘ test.txt //以:分隔,包含root的行输出第1,3段,包含test的输出第2,4段
awk -F ‘:‘ ‘$3=="0"‘ /etc/passwd //以:分隔,第三段是“0” 的行
awk -F ‘:‘ ‘$3>="500"‘ /etc/passwd //以:分隔,第三段大于字符500 的行 (数字加上双引号就代表字符而非数字)
awk -F ‘:‘ ‘$3>=500‘ /etc/passwd //以:分隔,第三段大于500 的行
awk -F ‘:‘ ‘$7!="/sbin/nologin"‘ /etc/passwd //以:分隔,第7段不等于/sbin/nologin 的行
awk -F ‘:‘ ‘$3<$4‘ /etc/passwd //以:分隔,第3段小于第四段 的行
awk -F ‘:‘ ‘$3>"5" && $3<"7"‘ /etc/passwd //以:分隔,第3段大于字符5并且小于字符7 的行
awk -F ‘:‘ ‘$3>1000 || $7=="/bin/bash"‘ /etc/passwd //以:分隔,第3段=1000或者第七段=/bin/bash 的行
head -5 /etc/passwd |awk -F ‘:‘ ‘{OFS="#"} {print $1,$3,$4}‘ //前5行以:分隔,取1,3,4段,以#分隔
awk -F ‘:‘ ‘{OFS="#"} {if ($3>1000) {print $1,$2,$3,$4}}‘ /etc/passwd //将分隔符:替换为#,第三段大于1000,则输出1,2,3,4段
awk -F ‘:‘ ‘{OFS="#"} $3>1000 {print $1,$2,$3,$4}}‘ /etc/passwd //将分隔符:替换为#,第三段大于1000,则输出1,2,3,4段
head -n3 /etc/passwd | awk -F ‘:‘ ‘{print NF}‘ //前三行以:分隔,有几段
head -n3 /etc/passwd | awk -F ‘:‘ ‘{print NR}‘ //前三行以:分隔,有几行(加行号)
awk ‘NR>40‘ /etc/passwd //取行号大于40 的
awk -F ‘:‘ ‘NR<20 && $1 ~ /roo/‘ /etc/passwd //以:分隔,前19行中第一段含有roo的
head -n 3 /etc/passwd |awk -F ‘:‘ ‘$1="root"‘ //以:分隔,将第一段赋值root
awk -F ‘:‘ ‘{(tot=tot+$3)}; END {print tot}‘ /etc/passwd //以:分隔,各行第三段相加
awk -F ‘:‘ ‘{if ($1=="root") {print $0}}‘ /etc/passwd //以:分隔,如果第一段=root,就输出所有段
以上是关于Linux学习笔记(二十八)awk的主要内容,如果未能解决你的问题,请参考以下文章