国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

AWK語言第二版 1.3 格式化輸出

這篇具有很好參考價值的文章主要介紹了AWK語言第二版 1.3 格式化輸出。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.3 格式化輸出

前一節(jié)的 print 語句用于簡單和快速的輸出。如果對輸出格式有更高要求,就要使用 printf 語句。本書后面的例子中,可以看到?printf 語句能生成幾乎任意格式的輸出,不過本節(jié)只會展示它的一小部分能力。細節(jié)可以參考附錄 A.4.3。

對齊域

printf 語句的格式是

printf( format, value1, value2, ... , valuen)

其中的 format 是一個字符串,包含了需要原樣輸出的文本,并在其中穿插著說明 value1~valuen 這些值要如何打印的規(guī)格(specification)。一個規(guī)格就是一個百分號 % ,后面跟著幾個字符來控制value 的格式。第一個規(guī)格指定value1要如何打印,第二個規(guī)格指定value2要如何打印,以此類推。這樣,format 里面有幾個 %?規(guī)格,后面就要有幾個value。(printf語句與標準C庫函數(shù)里的printf函數(shù)基本完全一致)

下面這個程序用 printf 打印每個員工的薪水:

{ printf("total pay for %s is $%.2f\n", $1, $2 * $3) }

上面的規(guī)格字符串里面包含兩個 % 規(guī)格,第一個是 %s,是說把第一個值,即 $1,作為字符串輸出;第二個是 %.2f,是說把第二個值,即 $2 * $3,作為數(shù)字來輸出,并且小數(shù)點后要留兩位。

規(guī)格字符串里的其他東西,包括美元$符號,都是原樣輸出的;字符串結尾的 \n 表示換行,可以讓后續(xù)的輸出從下一行開始。用emp.data做輸入,輸出是:

total pay for Beth is $0.00
total pay for Dan is $0.00
total pay for Kathy is $155.00
total pay for Mark is $500.00
total pay for Mary is $495.00
total pay for Susie is $306.00

printf 不像 print 那樣會自動打印空格或空行,要的話你得自己指定。如果你忘了 \n, 輸出都會在同一行里。(可以去掉 \n 看看效果)

下面這個程序打印每個員工的姓名和薪水:

{ printf("%-8s $%6.2f\n", $1, $2 * $3) }

其中第一個規(guī)格 %-8s,把名字作為字符串輸出,而且在8個字符寬度下左對齊;其中的減號用于表明左對齊(可以猜到帶加號或者不帶減號就是右對齊了)。第二個規(guī)格 %6.2f,把薪水作為數(shù)字輸出,并且要求小數(shù)點后帶兩位數(shù),6個字符寬:

Beth     $  0.00
Dan      $  0.00
Kathy    $155.00
Mark     $500.00
Mary     $495.00
Susie    $306.00

后面還會有很多printf的例子;完整的規(guī)格說明在附錄A.4.3。

對輸出排序

如果你想要打出每個員工的信息和他們的薪水,并按薪水增量排序,最簡單的方法就是用Awk把薪水打印到員工信息前面,并將Awk的輸出交給排序程序。

在Unix上,命令為

awk '{ printf("%6.2f  %s\n", $2 * $3, $0) }' emp.data | sort

這會通過管道的方式把Awk的輸出傳給 sort 命令,最后結果如下:

  0.00  Beth     21      0
  0.00  Dan      19      0
155.00  Kathy    15.50   10
306.00  Susie    17      18
495.00  Mary     22.50   22
500.00  Mark     25      20

當然也可以在Awk里面寫個高效的排序程序;第八章有個快速排序的例子。但大部分時間,用已有的工具比如 sort 是效率最高的。(不要自己發(fā)明輪子)文章來源地址http://www.zghlxwxcb.cn/news/detail-689111.html

到了這里,關于AWK語言第二版 1.3 格式化輸出的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • python格式化輸出

    python格式化輸出

    偶然看到一種格式化輸出這么寫的 可以看到 %(key)s 包圍的值可以通過字典對應的值指定 另外的格式化輸出還有 \\\"\\\".format() , \\\"\\\" % , f\\\"{}\\\"

    2024年02月05日
    瀏覽(15)
  • Python基礎—格式化輸出

    一、舊式字符串格式化方法 %s、%d、%f等被稱為占位符,%s對應字符串、%d對應整型、%f對應浮點型 %f -- 默認保留6位小數(shù) %.Nf -- N為整數(shù) %f -- 四舍五入 二、format方法 在字符串中寫{},字符串外調(diào)用format方法,在format方法中傳入值,按照一一對應的關系被寫入對應的{} 作用為說明

    2024年02月08日
    瀏覽(20)
  • fmt的格式化輸入輸出

    fmt 包是 Go 語言標準庫中用于格式化輸入和輸出的包,它提供了豐富的函數(shù)來控制輸出的格式,處理不同類型的數(shù)據(jù),并且可以從輸入源(如標準輸入、文件)讀取數(shù)據(jù)。下面將詳細介紹 fmt 包的格式化輸出和輸入處理。 格式化輸出 : fmt 包通過格式字符串來控制輸出的格式

    2024年02月13日
    瀏覽(21)
  • C++常用格式化輸出轉換

    C++常用格式化輸出轉換

    ?在C語言中可以用printf以一定的格式打印字符,C++當然也可以。 輸入輸出及命名空間還不太了解的小伙伴可以看一看C++入門講解第一篇。 ?在C++中,可以用流操作符(stream manipulators)控制數(shù)據(jù)的輸出格式,這些流操作符定義在2個頭文件( iomanip 和 ios )中,可以用輸出運算

    2024年02月04日
    瀏覽(19)
  • 關于使用JS獲取當前時間并格式化輸出

    關于使用JS獲取當前時間并格式化輸出

    (1)逐個提取并拼接字符串 (2)一步到位提取年月日時分秒(重點) 首先,提取數(shù)據(jù)到數(shù)據(jù) 然后,拼接數(shù)據(jù)格式化輸出 (附上,過程剖析)

    2024年02月03日
    瀏覽(23)
  • Python 格式化輸出:精確控制你的數(shù)據(jù)表示

    ????? 目錄 舊式的?%?運算符(不推薦) str.format()?方法 位置和參數(shù): 格式化數(shù)字: f-string 表達式和函數(shù)調(diào)用: 格式化數(shù)字: 格式規(guī)范的微調(diào)?(核心) 對齊字符串 填充字符 數(shù)字的零填充 數(shù)字的千位分隔符 格式化十六進制、八進制和二進制 ????????在編程語

    2024年01月17日
    瀏覽(24)
  • Python(21)json.dumps()使用indent參數(shù) 格式化輸出json數(shù)據(jù)格式

    json.dumps() 方法 將一個Python數(shù)據(jù)結構轉換為JSON字符串 輸出為 這樣的格式一般都不優(yōu)美,當數(shù)據(jù)很多的時候,看得就不是很直觀方便。 可以使用 indent=4 參數(shù)來對json進行數(shù)據(jù)格式化輸出,會根據(jù)數(shù)據(jù)格式縮進顯示,讀起來更加清晰 用法如下 輸出為 json.dumps()方法,參數(shù)解釋

    2024年02月08日
    瀏覽(26)
  • Python中格式化字符串輸出的4種方式

    Python格式化字符串的4中方式 一、%號 二、str.format(args) 三、f-Strings 四、標準庫模板 五、總結四種方式的應用場景’ 一、%號占位符 這是一種引入最早的一種,也是比較容易理解的一種方式.使用方式為: 1、格式化字符串中變化的部分使用占位符 2、變量以元組形式提供 3、變

    2024年02月06日
    瀏覽(29)
  • printf和scanf的串口重定向,格式化輸入輸出

    printf和scanf的串口重定向,格式化輸入輸出

    通過重定向C標準庫的printf和scanf函數(shù),實現(xiàn)串口的格式化輸出; 調(diào)用MDK微庫(MicroLib)的方法和調(diào)用標準庫的方法。 我們使用的正點原子STM32F103RB NANO開發(fā)板上將USART1(引腳為PA9,PA10)接出 USART1并沒有在PCB上連接在一起,需要通過跳線帽來連接一下。這里我們把 P5 的 RXD 和 TXD 用

    2024年02月04日
    瀏覽(21)
  • 【Java學習筆記】16.Java 格式化輸出 printf 用法

    Java 格式化輸出 printf 用法 Java 中的 printf 方法用于格式化輸出。 格式化指定了輸出的形式,包括數(shù)字的精度、字符寬度、日期格式等等。下面是一些常用的格式化符號和用法: 字符串格式化 %s : 輸出字符串 實例 整數(shù)格式化 %d : 輸出十進制整數(shù) %o : 輸出八進制整數(shù) %x : 輸出十

    2024年02月07日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包