ask编程--printf格式化输出/awk使用

1. printf输出格式的使用

格式:printf   ‘输出类型输出格式’   输出内容

输出类型

%s:输出字符串 %-10s:表示左对齐110字符内 

%i:输出整型

%m.nf:输出浮点数

 

打印adada,并换行

 

 

 

实验文件 %S

 

 

 

提升

 

 

注:\t是制表符相当于tab

 

print和printf的区别

Print 不能使用 %s,%d/%C

 

2. awk的使用

awk格式: awk  ‘条件1{动作1} 条件2{动作2}’ 文件内容

 

一般使用关系表达式作条件

X> 10;  x<=10;  x==y;  !=  ;

A~b 判断字符串A中是否能匹配字符串B

A!~B 判断字符串A中是否不包含能匹配B表达式

/字符串/

 

BEGIN: awk的保留字,awk程序一开始时,尚未读取任何数据之前执BEGIN,只执行一次BEGIN后的动作

END:awk程序处理完所有数据,即将结束时执行END,只执行一次END后的动作

动作:格式化输入(print);流程控制语句

注:正则表达式格式   awk /正则表达式/

 

 

 

 

 

实验文件$0   $1-9

 

 

:  print $0打印整行;print$1 打印当前第一域;print$1 打印当前第一域

 

 

实验文件 加些固定字

 

 

实验文件 awk -F

指定:为分隔符,查询第一列 /etc/passwd文件

awk  -F  : ‘{print $1 }’/etc/passwd

查询最后一列  /etc/passwd文件

awk  -F : ‘{print $DF }’/etc/passwd

查询最后倒数第三列 /etc/passwd文件

awk  -F : ‘{print $DF-3 }’/etc/passwd   

 

实验文件 FS

查看/etc/passwd 所有用户

 

 

 

实验文件 >= && <=

只查看test.txt文件第20到第30行的内容(企业面试)

 awk  { if(NR>=20 && NR<=30)  print $0}   test.txt

 

实验文件 ~  /字符串/

判断第六字段是否包含 SC 字符,有则打印学号$1,文件名为 student.txt

awk  $6  ~  /SC/   {print $1}  student.txt

 

                                                                                                                          

提升

 

查询磁盘空间占分比

df  -h | grep   /dev/sda3 | awk  ‘{print $5}’|cut -d  % -f

 

 

统计/etc/passwd 账户人数

 

 

 

 

 

 

 

 

 

 

posted @ 2020-11-09 12:03  加油酱  阅读(542)  评论(0编辑  收藏  举报