<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
        博客園  :: 首頁  :: 新隨筆  :: 訂閱 訂閱  :: 管理

      Linux printf命令詳解

      Posted on 2019-04-23 21:44  面具下的戲命師  閱讀(6095)  評論(0)    收藏  舉報

      Linux printf命令

      printf命令模仿了C語言中的printf()函數。主要作用是輸出文本,按照我們指定的格式輸出文本。還有一個輸出文本的命令echo,在輸出文本時,echo會換行。printf命令不會對輸出文本進行換行??梢允褂?\n 。但是printf命令的優勢是格式化文本。示例如下:

      [root@dm ~]# echo 'string'
      string
      [root@dm ~]# printf 'string'
      string[root@dm ~]# 
      [root@dm ~]# printf 'string\n'
      string

      語法:

      printf  format-string  [arguments...]

      需求把aa bb cc dd ee按照空格分段,每段單獨一行。有以下幾種方法:

      [root@dm ~]# echo -e "aa \nbb \ncc \ndd \nee"
      aa 
      bb 
      cc 
      dd 
      ee
      [root@dm ~]# printf "aa \nbb \ncc \ndd \nee \n"
      aa 
      bb 
      cc 
      dd 
      ee 
      [root@dm ~]# printf "%s\n" aa bb cc dd ee
      aa
      bb
      cc
      dd
      ee

      在字段非常多的時候,明顯前兩種方法不合適。在第三種方法中,"%s\n"是指定的格式。后面的每一個字符串,都被當做參數傳入到printf命令中,并按照指定的格式進行了格式化。%s是格式替代符,代表了每一個傳入的參數。并將它們轉化為字符串類型。%f也代表每一個傳入的參數,將他們轉化為浮點型。

      [root@dm ~]# printf "%s\n" 1 5 12
      1
      5
      12
      [root@dm ~]# printf "%f\n" 1 5 12
      1.000000
      5.000000
      12.000000

      常用的格式替代符還有以下幾種

      格式替代符:

      %s 字符串

      %f 浮點型

      %b 相對應參數中包含轉義字符時,可以使用此替換符進行替換,對應的轉義字符被轉義。

      %c ASCII字符,顯示想對應參數的第一個字符。

      %d, %i 十進制整數

      %o 不帶正負號的八進制值

      %u 不帶正負號的十進制值

      %x 不帶正負號的十六進制值,使用a至f表示10到15

      %X 不帶正負號的十六進制值,使用A至F表示10到15

      %% 表示 % 本身

      轉義字符:

      \a 警告字符,通常為ASCII的BEL字符

      \b 后退

      \c 抑制(不顯示)輸出結果中任何結尾的換行字符(只在%b格式指示符控制下的參數字符串中有效),而且,任何留在參數里的字符、任何接下來的參數以及任何留在格式字符串中的字符,都被忽略

      \f 換頁

      \n 換行

      \r 回車

      \t 水平制表符

      \v 垂直制表符

      \\ 一個字面上的反斜杠字符,即 \ 本身

      \ddd 表示1到3位數八進制值的字符。僅在格式字符串中有效

      \0ddd 表示1到3位的八進制值字符

      示例:

      1、將每一個傳入的參數兩邊添加括號,并且括號內測需要有空格

      [root@dm ~]# printf "( %s )" 1 5 12;echo ""
      ( 1 )( 5 )( 12 )

      2、將每個傳入的參數用制表符隔開

      [root@dm ~]# printf "%s\t" 1 2 13;echo ""
      1    2    13

      如果我們在格式中使用多個格式替代符。那么指定格式中包含格式替代符的數量,就是每次格式參數的數量。

      [root@dm ~]# printf "%s\n" a b c d e f
      a
      b
      c
      d
      e
      f
      [root@dm ~]# printf "%s %s\n" a b c d e f
      a b
      c d
      e f
      [root@dm ~]# printf "%s%s\n" a b c d e f
      ab
      cd
      ef

       

      如上所示,每次格式化時傳入兩個參數。前一個參數對應第一個替代符,后一個參數對應第二個替代符。 

      用法二:在原來的格式替代符中加入數字,如%7s表示當前替換符對應的輸出寬度為7個字符。如果對應的輸出不滿七個字符,則用空格補全,如果輸出長度超過七個字符,超出部分也會顯示。這些數字被稱作修飾符,修飾符對相應的替換符進行修飾。

      [root@dm ~]# printf "%s %s %s\n" 姓名 性別 年齡 小明 男 23 小紅 女 25
      姓名 性別 年齡
      小明 男 23
      小紅 女 25
      [root@dm ~]# printf "%7s %5s %4s\n" 姓名 性別 年齡 小明 男 23 小紅 女 25
       姓名 性別 年齡
       小明   男   23
       小紅   女   25
      [root@dm ~]# printf "%-7s %-5s %-4s\n" 姓名 性別 年齡 小明 男 23 小紅 女 25
      姓名  性別 年齡
      小明  男   23  
      小紅  女   25 

      其中 - 也是修飾符表示左對齊,默認不加 - 表示右對齊。還有一個修飾符 + 但是+不表示右對齊。在使用修飾符時,顯示正數前面的正號。示例如下:

      [root@dm ~]# printf "靈寵名稱 體溫\n";printf "%10s %5d\n" 烈火獸 180 冰晶獸 -70
      靈寵名稱 體溫
       烈火獸   180
       冰晶獸   -70
      [root@dm ~]# printf "靈寵名稱 體溫\n";printf "%10s %+5d\n" 烈火獸 180 冰晶獸 -70
      靈寵名稱 體溫
       烈火獸  +180
       冰晶獸   -70

      數字修飾符還有一種特殊用法

      [root@dm ~]# printf "靈寵名稱 體溫\n";printf "%10s %+12f\n" 烈火獸 180.23443 冰晶獸 -70.3425
      靈寵名稱 體溫
       烈火獸  +180.234430
       冰晶獸   -70.342500
      [root@dm ~]# printf "靈寵名稱 體溫\n";printf "%10s %+12.3f\n" 烈火獸 180.23443 冰晶獸 -70.3425
      靈寵名稱 體溫
       烈火獸     +180.234
       冰晶獸      -70.342

      當替換符為%f時,如果數字修飾符帶有小數點。則小數點后邊的數字表示對應的小數精度。當替換符為%d時,則數字修飾符小數點后的數字表示整數的長度,長度不夠時高為用0補全

      [root@dm ~]# printf "靈寵名稱 體溫\n";printf "%10s %+12.5d\n" 烈火獸 180 冰晶獸 -70
      靈寵名稱 體溫
       烈火獸       +00180
       冰晶獸       -00070

      注意:如果沒有 arguments,那么 %s 用NULL代替,%d 用 0 代替

      [root@dm ~]# printf "%s and %d \n" 
       and 0 

       

      主站蜘蛛池模板: www国产精品内射熟女| 国产成人综合色在线观看网站| 在线精品自拍亚洲第一区| 久久婷婷丁香五月综合五| 香港经典a毛片免费观看播放| 一个色综合国产色综合| 国产极品丝尤物在线观看| 亚洲永久一区二区三区在线| 无套内射视频囯产| 亚洲人成人一区二区三区| 中文字幕国产精品日韩| 狠狠人妻久久久久久综合九色| 亚洲一区成人av在线| 久久精品免费自拍视频| 日本一高清二区视频久二区| 洛阳市| 亚洲人成色99999在线观看| 久久精品第九区免费观看| 一区二区丝袜美腿视频| 精品亚洲欧美高清不卡高清| 欧美精品一区二区三区中文字幕 | 亚洲婷婷综合色高清在线| 九九热在线免费视频观看| 99热成人精品热久久66| 精品人妻系列无码天堂| 国产精品美女一区二三区| 影音先锋人妻啪啪av资源网站| 国产成人夜色高潮福利app| 亚洲成人动漫av在线| 丁香婷婷综合激情五月色| 国产精品十八禁一区二区| 国产乱码日韩精品一区二区| 国产精品一区二区久久不卡| 91精品国产午夜福利| 亚洲国产中文在线有精品| 亚洲最大中文字幕无码网站| 国产成人精品亚洲高清在线| 色综合 图片区 小说区| 免费吃奶摸下激烈视频| 欧美成人aaa片一区国产精品| 国产区二区三区在线观看|