Linux-awk和printf

printf

printf ‘输出类型输出格式’ 输内容
输出类型:
%ns 输出字符串,n是数字指代输出几个字符
%ni 输出整数,n是数字,指代输出几个数字
%m.nf 输出浮点数,m和n是数字,指代输出总位数和小数位数,如%8.2f 代表共输出8位数,其中2位是小数,6为是整数
输出格式:
\a : 输出警告声音
\b:输出退格键
\f:清除屏幕
\n:换行
\r:回车
\t:水平输出退格键
\v:垂直输出退格键

printf '%s' 1 2 3 4 5 6
123456
printf '%s %s %s' 1 2 3 4 5 6
1 2 34 5 6
#三个字符为一组,中间换行
printf '%s %s %s\n' 1 2 3 4 5 6
1 2 3
4 5 6
#4表示占多少位
printf '%4s' 1 2 3 4 5 6
   1   2   3   4   5   6

printf后面不能直接跟文件名字

printf '%s' student.txt 
student.txt

如果想要输出student.txt文件的内容,需要这样

printf '%s' $(cat student.txt)
IDnamesexscore1llM902yyF883uuM88
awk

awk ‘条件1{动作1}条件2{动作2}…’ 文件名
条件:
一般使用关系表达式作为条件
x>10 判断变量x是否大于10
x>=10 大于等于
x<=10 大于等于
动作:
格式化输出
流程控制语句
awk可以直接提取制表符和空格分割的列,使用$n来表示第几列

提取文件的第2列和第4列

在这里插入图片描述

[root@centos01 shellcode]# awk '{printf $2 "\t" $4 "\n"}' student.txt 
name	score
ll	90
yy	88
uu	88

练习2;将磁盘已用的数字提取出来

在这里插入图片描述

[root@centos01 shellcode]# df -h | grep -v "已用" | awk '{printf $5 "\n"}'|cut -d "%" -f 1
34
0
0
2
0
1
15
1
100

awk提取非制表符和空格

使用FS

[root@centos01 shellcode]# cat /etc/passwd | awk 'BEGIN {FS=":"} {printf $1 "\t" $3 "\n"}'
root	0
bin	1
daemon	2
adm	3
lp	4
sync	5
shutdown	6
halt	7
mail	8
operator	11

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值