转自:http://blog.chinaunix.net/uid-9525959-id-2001528.html

printf FORMAT [ARGUMENT]...

printf OPTION

【功能】

格式化并打印数据.

【举例】

*打印整数和字符串:

$printf 'the integer is:%d\nthe string is: %s\n' 3 "test"

输入之后,输出如下:

the integer is:3

the string is: test

这里,使用单引号双引号都行;注意最后要有回车,否则下一个提示行和输出跑到一行了。

*不用引号打印一个参数的情况:

$printf %s test

输入之后,输出如下:

testquietheart@ubuntu$

从这里可以看出来,test是待打印的字符,quietheart@ubuntu$是我的机器命令提示符号,两者在一行。

*不用引号打印多个参数的情况:

$printf %s first second

输入之后,输出如下:

firstsecondquietheart@ubuntu$

*格式只指定了一个,但是多余一个参数:

$printf "%s\n" first second

输入之后,输出如下:

first

second

注意这里的回车,字符串仍旧可以输出。

*指定的格式少于参数:

$printf "%s %s %s %s\n" a b c d e f g h i j k l m n

输入之后,输出如下:

a  b c d

e  f  g h

i   j  k l

m n

这里,该情况是前面指定一个格式的情况扩展。

*类似echo -n的输出,不自动换行:

$my_var="abc123"

$printf $my_var

输入之后输出如下:

abc123quietheart@ubuntu$

如果echo输出会自动换行,这里没有自动换行,这和echo -n的效果相同。

*类似echo的输出,自动换行:

$printf "$my_var \n"

输入之后,输出如下:

abc123

或者$printf '$my_var \n'

输入之后,输出如下:

$my_var

这里,这两个命令类似于echo,需要注意的是不能如下这样:

$printf "%s \n" $var

因为,变量不可以如此输出,因为printf命令的ARGUMENT认字符串。

*如果参数没写上,那么就用NULL或者0来代替:

$printf "%s and %d \n"

输入之后,输出如下:

and 0

【描述】

这个函数类似C语言里的printf,先指定格式,再写上变量。

不同点,SHELL命令的printf

1.没有C语言函数里必须的括号;

2.一般情况下,指定FORMAT时候,使用单引号和双引号均可;

3.某些情况下,不加引号也可以,但是无法处理负责格式;

4.某些情况下,FORMAT可以重用,可以将所有参数都转换;

5.输出变量参数之间使用空格或tab分割,不用逗号;

6.某种程度上可以替代echo.

【转】Linux之printf命令的更多相关文章

  1. Linux上printf命令的用法

    printf格式化输出 基本格式 printf [format] [文本1] [文本2] .. 常用格式替换符 %s 字符串 %f 浮点格式 %c ASCII字符,即显示对应参数的第一个字符 %d,% ...

  2. Linux命令学习手册-printf命令(转)

    分类: LINUX 参考资料:http://sns.linuxpk.com/space-566-do-blog-id-15819.html printf FORMAT [ARGUMENT]... pr ...

  3. Linux printf命令详解

    Linux printf命令 printf命令模仿了C语言中的printf()函数.主要作用是输出文本,按照我们指定的格式输出文本.还有一个输出文本的命令echo,在输出文本时,echo会换行.pri ...

  4. Linux Shell系列教程之(八)Shell printf命令详解

    本文是Linux Shell系列教程的第(八)篇,更多shell教程请看:Linux Shell系列教程 在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell p ...

  5. Linux printf 命令

    printf 命令用来格式化输出,用法如下: [keysystem@localhost ~]$ printf "%s\n" 1 2 3 4 1 2 3 4 [keysystem@l ...

  6. Linux终端打印命令使用介绍

    常用linux打印命令 日常使用中或shell脚本中linux终端打印命令有echo和printf.  echo命令 功能说明:显示文字.语 法:echo [-ne][字符串]或 echo [--he ...

  7. Linux下who命令之C语言实现

    Linux下who命令之C语言实现 Step1:前期准备 首先要有一个清楚的认识:linux中一切皆文件 实现who命令,who命令也是Linux中的一个文件,那我们怎么找到它呢?我们可以" ...

  8. Linux系统常用命令权威指南

    <一>线上查询及帮助命令(2)1.man man [选项] [命令] 查看命令帮助,命令的词典,更复杂的还有info,但不常用. #man cd-a 显示所有的手册页,不只是显示第一个-f ...

  9. day 55 linux 的常用命令

    前言 前面咱们已经成功安装了Linux系统--centos7,那么我们现在提好裤腰带,准备奔向Linux的大门.  Linux命令行的组成结构 [root@oldboy_python ~]# [roo ...

随机推荐

  1. Ioc思想

    DIP: Dependency Inversion Principle 依赖倒转原则 高层次组件不应该依赖于低层次组件,二者均应该依赖于接口.抽象不应该依赖于细节,细节应该依赖于抽象. IOC:Inv ...

  2. 【Codeforces 1027D】Mouse Hunt

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 先求出来强连通分量. 每个联通分量里面,显然在联通块的尽头(没有出度)放一个捕鼠夹就ok了 [代码] #include <bits/st ...

  3. Oracle学习总结(4)——MySql、SqlServer、Oracle数据库行转列大全

    MySql行转列 以id分组,把name字段的值打印在一行,逗号分隔(默认) select CustomerDrugCode,group_concat(AuditItemName) from noau ...

  4. poj 3925 枚举+prime

    /* 因为15很小可以暴力枚举然后用最小生成树的prim来计算 */ #include<stdio.h> #include<string.h> #include<math ...

  5. 试来试去,WIN下最简单的WIN API开发工具,Pelles C就好啦

    昨晚试过N个,不是太大,就是不容易和WIN API集成. 今早一试就灵了个.... Pelles C. Pelles C是一款windows下的C IDE,支持调试,且为免费.它有一个高效率的链接器, ...

  6. java复习volatile关键字解析

    转自https://www.cnblogs.com/dolphin0520/p/3920373.html volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受 ...

  7. Ubuntu 16.04安装汇编编译器NASM

    NASM支持intel语法. 安装过程: 1.通过二进制包方式 下载: http://www.nasm.us/pub/nasm/releasebuilds/2.13/ 如果要下载其它版本可以把地址靠前 ...

  8. java String长度与varchar长度匹配理解(字符和字节长度理解)

    java String长度与varchar长度匹配理解(字符和字节长度理解) string中的length()长度,返回的是char的数量,每个char可以存储世界上任何类型的文字和字符,一个char ...

  9. MySQL用户及数据安全专题

    1 简单介绍 1.1 概要 1.2 权限分类 2 加入用户     2.1 语法例如以下: CREATE USER user_specification [, user_specification] ...

  10. android微信开放平台,申请移动应用的应用签名怎样获取

    在微信开放平台,申请移动应用的时候: https://open.weixin.qq.com/cgi-bin/appcreate? t=manage/createMobile&type=app& ...