Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6995
  • 博文数量: 4
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 35
  • 用 户 组: 普通用户
  • 注册时间: 2015-06-10 17:37
文章分类
文章存档

2015年(4)

我的朋友

分类: LINUX

2015-06-17 10:34:05

echo
-e:打开反斜杠字符backslash-escaped的解析,即对/n,/t等字符进行解析,而不视之为两个字符
        backslash-escaped有下面参数,注意需要加上选择-e方可生效
        /a : 发出警告铃音(ALERT or CTRL-G (bell)) 
        /b : 退格(BACKSPACE or CTRL-H ) 
        /c : 删除最后的字符及最后的换行(Omit final NEWLINE ) 
        /e : 删除后面的一个字符(Escape character (same as /E) ) 
        /E : 同上(Escape character) 
        /f : 换页符,在某些现实中会清屏,有些会换行(FORMFEED or CTRL-L ) 
        /n : 换行(NEWLINE (not at end of command) or CTRL-J ) 
        /r : 从行头开始,和换行不一样,仍在本行(RETURN (ENTER) or CTRL-M ) 
        /t : tab键(TAB or CTRL-I ) 
        /v : 竖直tab,和/f一样,显示不同机器有所不一样,通常会引起换行VERTICAL TAB or CTRL-K 
        /n : 在cygwin中使用/65,无法正确显示'A’但是下面两种方法否可以显示。ASCII character with octal (base-8) value n,         where n is 1 to 3 digits 
        /0nnn : 用8进制的值表示一个字符,例如/0101,即65,表示字符’A’(The eight-bit character whose value is the         octal (base-8) value nnn where nnn is 1 to 3 digits ) 
        /xHH : 用16进制的值表示一个字符,例如/x41,即65,表示字符’A’The eight-bit character whose value is the         hexadecimal (base-16) value HH (one or two digits) 
        // : 表示‘/’Single backslash
  倒数第2-4,用数值来表示字符和设备相关,通常用于复杂的IO操作,例如光标控制和特殊的图形符号。
-E:关闭反斜杠字符的解析,/n作为两个字符,这是系统缺省模式
-n:删除最后的换行


printf
Linux提供一个功能更强大,更灵活的打印命令printf。printf和C语言的使用方式类似。和echo不一样,它不会在最后自动加上换行,需要写入命令中。例如printf "Hello, world\n"。printf的命令格式如下:
        printf format-string [arguments]
printf "%s, %s\n" hello world。如果格式需要的参数比后面给出的多,超出的部分为0或者null。格式如下
        %c:ASCII字符,如果参数给出字符串,则打印第一个字符 
        %d:10进制整数 
        %i:同%d 
        %e:浮点格式([-]d.精度[+-]dd) 
        %E:浮点格式([-]d.精度E[+-]dd) 
        %f:浮点格式([-]ddd.precision) 
        %g:%e或者%f的转换,如果后尾为0,则删除它们 
        %G:%E或者%f的转换,如果后尾为0,则删除它们 
        %o:8进制 
        %s:字符串 
        %u:非零正整数 
        %x:十六进制 
        %X:非零正数,16进制,使用A-F表示10-15 
        %%:表示字符"%"
        如果需要限定输出的宽度,格式为%flags width.precision format-specifier,width是整数,右边对齐,如果需要左边对齐,在前面加“-”,例如"%-20s"表示从左边开始对齐,宽度为20,如果字符串长度少于20,通过空格补齐。precision在浮点值中提供四舍五入。例如%5.6G,长度为5,精度为6。精度是可选的。长度和精度的值可以参数中指定,例如printf "%*.*G/n" 5 6 $myvalue。长度指显示中占的字符长度,与字符长度的同义。如果长度比实际的少,例如实际字符长度更大或者所要求的精度更大,则显示按实际长度。
        %d, %I, %o, %u, %x, %X:在里面使用精度,表示最小显示的数字。如果显示的数字比需求少,则补充0。缺省值为1. 
        %e, %E:在里面使用精度,表示最小显示的数字。如果显示的数字比需求少,在小数点后面补充0。缺省值为10.精度度为0
        经隐藏小数点。 
        %f:在这里的精度,表示小数点后面的数字的数目。 
        %g, %G:这里的精度,表示最大的有效数字的数目。 
        %s:这里的精度,表示最大的字符数目。
        在前面,介绍了”-“作为左对齐,下面介绍这些特殊符号
        -:左对齐 
        space:正数前面加空格,负数前面加符号,例如12.12,|% f|,显示| 12.120000|,注意前面留了一个空格。
        例如-12.12,|% f|,显示|-12.120000| 
        +:对于数码给予正负号。 
        #:给出另一种格式:
                %o以8进制显示整数,而%#o则在前面加上零,表明是八进制,例如12,显示014
                %x或者%X以16进制的方式显示整数,而%#x或者%#X,在16进制的整数前面加上0x或者0X来表示,例如12,
                显示0XC
                %#e,%#E, %#f,将只以十进制显示
                %#g,%#G,将不删除最后无关的补齐0,例如12.1200,将全部显示,而不是12.12
        0:对于数目,不使用空格,而使用0来作为补齐

介绍两个特别的字符显示格式%b和%q
        %b:表示解析字符串的特殊的字符,包括/n等等。例如printf "%s\n" 'hello\nworld',显示hello\nworld,
        要将\n作为换行符,则需要用printf "%b\n" 'hello\nworld' 。
        %q:printf "%q\n" "greetings to the world"显示为greetings\ to\ the\ world,可以作为shell的输入
阅读(219) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~