1. printf输出格式的使用
格式:printf ‘输出类型输出格式’ 输出内容
输出类型:
%s:输出字符串 %-10s:表示左对齐从1到10字符内
%i:输出整型
%m.nf:输出浮点数
打印adada,并换行
实验文件 %S
提升
注: 是制表符相当于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 账户人数