9.6/9.7 awk

Linux学习笔记第六周第三次课(3月14日)

Linux学习笔记第六周第三次课(3月14日)

支持分段,passwd文件内容,很有规律,冒号分段;按段匹配;

Linux学习笔记第六周第三次课(3月14日)Linux学习笔记第六周第三次课(3月14日)

-F指定分割符,‘{print $1}’表示打印第一段;不会更改文件内容;

‘{print $0}’表示打印所有段;

#awk '{jprint $0}' test.txt也可以打印所有段,相当于cat;

‘{print $1,$3,$4}’表示打印第一,第三,第四段;中间加逗号;

‘{print $1“#”$3“#”$4}’表示打印第一,第三,第四段,中间以#分隔;

查找oo的行并列出来,awk “/oo/”test.txt ;

第一段匹配oo的列出来,awk -F ':' '$1 ~/oo/' test.txt;

包含root或user的指定段列出来,awk -F ':' '/root/ {print $1,$3} /user/ {print $1,$3,$4}' test.txt;

显示包含root或user的行,#grep -E 'root | user' test.txt;#awk -F ':' '/root | user/ {print $0}' test.txt;

 ‘$3==0’表示第三段等于数字0的;

‘$3=="0"’表示第三段等于ASCII的0,字符0;


Linux学习笔记第六周第三次课(3月14日)Linux学习笔记第六周第三次课(3月14日)

<表示小于;&&表示与;||表示或;==表示等于;

~表示匹配;

'{OFS="#"}'表示显示时用#分隔段; 写在print及条件前面;

NR表示行号,NF表示段数;

打印前10行,#awk -F ':' 'NR<=10' test.txt;


扩展


把这里面的所有练习题做一下

http://www.apelearn.com/study_v2/chapter14.html