shell编程-字符截取命令-printf命令

前言

  • printf命令并不是字符提取命令,最常用在awk列提取命令的标准输出格式。与echo类似,都是输出。放在awk之前来学习,更容易理解。
  • 学习这条命令的原因: awk命令中最基本的命令输出方法。在这个awk命令当中不能直接调用系统命令cat、echo,只能使用printf。awk识别的是printf。printf虽然没有cat,echo用着舒服,但是awk是print识别的命令。

1. printf命令

命令: printf '输出类型格式输出' 输出内容

输出类型:

l输出类型含义
%ns输出字符串。n是数字代输出几个字符
%ni输出整数。n是数字指代输出几个数字
%m.nf输出浮点数。m和n是数字,指代输出的整数位数和小数位数。如%8.2f代表共输出8位数,其中两位是小鼠,6位是整数

输出格式:

输出格式含义
\a输出警告声音
\b输出退格键,也就是Backspace
\f清除屏幕
\n换行(常用)
\r回车,也就是enter键(常用)
\t水平输出退格键,也就是tab键(常用)
\v垂直输出退格键,也就是tab键

开始实验:

  • 命令: printf %s 1 2 3 4 5 6
    命令:printf %s %s %s 1 2 3 4 5 6
    命令: printf '%s%s%s' 1 2 3 4 5 6
    命令: printf '%s%s%s\n' 1 2 3 4 5 6

  • 命令: printf '%s' $(cat student)
    作用:不调整输出格式

  • 命令: printf('%s\t %s\t %s\t \n') $(cat student)
    作用:调整格式输出

  • (1) 写三个 " %s %s %s " 说明每三个字符为一组作为输出(%s中间有空格,表示输出两个数之间有空格)。如果是%s %s %s(不带双引号),只有第一个%s起了作用,后面所有的内容都被当作普通字符串原封不动的输出。只有加了单引号或双引号,才会知道里面的%s不是要输出的字符串。在这里插入图片描述
    在这里插入图片描述

小提示: 输出的内容太是需要进行格式化调整的,可以输出指定的字串也可以输出一个文件内容。输入cat时自动调整文件内容的格式,是因为在写这个命令的同时,就已经把格式调整加入到里面了。printf不能直接加文件名,也不能用管道符来接收第一条命令的执行结果。

2.printf和print的区别

  • 在awk命令的输出中支持print和printf命令
    print: print会在每个输出之后自动加入一个换行符 (Linux默认没有print命令)
    printf: printf是标准输出格式输出命令,并不会在自动加入换行符,如果需要换行,需要手工加入换行符。

  • 说明: 再次强调,Linux系统是没有print命令的。 print、printf这两个命令是在awk命令之中使用的,print只能在awk里面用,不能再系统当中用的,系统当中没有这个print这个命令的。
    在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值