转自: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. BZOJ 4415 洛谷 3988 [Shoi2013]发牌

    [题解] 权值线段树.查询当前牌堆顶的牌并且删掉就好了. #include<cstdio> #include<algorithm> #define N 3000010 #def ...

  2. Hdu 4864(Task 贪心)(Java实现)

    Hdu 4864(Task 贪心) 原题链接 题意:给定n台机器和m个任务,任务和机器都有工作时间值和工作等级值,一个机器只能执行一个任务,且执行任务的条件位机器的两个值都大于等于任务的值,每完成一个 ...

  3. [bzoj1044][HAOI2008][木棍分割] (二分+贪心+dp+队列优化)

    Description 有n根木棍, 第i根木棍的长度为Li,n根木棍依次连结了一起, 总共有n-1个连接处. 现在允许你最多砍断m个连接处, 砍完后n根木棍被分成了很多段,要求满足总长度最大的一段长 ...

  4. idea结合git版本控制

    IntelliJ-IDEA和Git.GitHub.Gitlab的使用(五)----https://blog.csdn.net/milsevol/article/details/72792468

  5. Tensorflow word2vec+manage experiments

    Lecture note 5: word2vec + manage experiments Word2vec Most of you are probably already familiar wit ...

  6. 【BZOJ4514】数字配对(费用流)

    题意: 有 n 种数字,第 i 种数字是 ai.有 bi 个,权值是 ci. 若两个数字 ai.aj 满足,ai 是 aj 的倍数,且 ai/aj 是一个质数, 那么这两个数字可以配对,并获得 ci× ...

  7. GIS服务器开发资源文档

    JAVA开发gis后台服务可以参照此文学习,持续跟新... 几何基础类库 代表: JTS(Java), GEOS(C++), Shapely(Python) JTS封装了点.线等等对象   数据源实现 ...

  8. java 定位工具

    #查看JVM所有进程及启动类信息以及PID jps -mlvV #查看JVM运行各种状态信息,包括GC,类加载,堆内存信息,jit编译信息等jstat -gcutil <PID> (堆内存 ...

  9. Codeforces Round #142 (Div. 2)B. T-primes

    B. T-primes time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  10. 洛谷P2744 [USACO5.3]量取牛奶Milk Measuring

    题目描述 农夫约翰要量取 Q(1 <= Q <= 20,000)夸脱(夸脱,quarts,容积单位--译者注) 他的最好的牛奶,并把它装入一个大瓶子中卖出.消费者要多少,他就给多少,从不有 ...