這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)使用awk怎么輸出文本中的字段和列,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、做網(wǎng)站服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)柳州免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
例 1:我創(chuàng)建了一個名為 tecmintinfo.txt 的文本文件。
# vi tecmintinfo.txt
# cat tecmintinfo.txt
在 Linux 上創(chuàng)建一個文件
然后在命令行中,我試著使用下面的命令從文本 tecmintinfo.txt 中輸出第一個,第二個,以及第三個字段。
$ awk '//{print $1 $2 $3 }' tecmintinfo.txt
TecMint.comisthe
從上面的輸出中你可以看到,前三個字段的字符是以空格為分隔符輸出的:
字段一是 “TecMint.com”,可以通過 $1 來訪問。 字段二是 “is”,可以通過 $2 來訪問。 字段三是 “the”,可以通過 $3 來訪問。
如果你注意觀察輸出的話可以發(fā)現(xiàn),輸出的字段值并沒有被分隔開,這是 print 函數(shù)默認(rèn)的行為。
為了使輸出看得更清楚,輸出的字段值之間使用空格分開,你需要添加 (,) 操作符。
$ awk '//{print $1, $2, $3; }' tecmintinfo.txt
TecMint.com is the
需要記住而且非常重要的是,($) 在 awk 和在 shell 腳本中的使用是截然不同的!
在 shell 腳本中,($) 被用來獲取變量的值。而在 awk 中,($) 只有在獲取字段的值時才會用到,不能用于獲取變量的值。
例 2:讓我們再看一個例子,用到了一個名為 my_shoping.list 的包含多行的文件。
No Item_Name Unit_Price Quantity Price
1 Mouse #20,000 1 #20,000
2 Monitor #500,000 1 #500,000
3 RAM_Chips #150,000 2 #300,000
4 Ethernet_Cables #30,000 4 #120,000
如果你只想輸出購物清單上每一個物品的單價,你只需運行下面的命令:
$ awk '//{print $2, $3 }' my_shopping.txt
Item_Name Unit_Price
Mouse #20,000
Monitor #500,000
RAM_Chips #150,000
Ethernet_Cables #30,000
可以看到上面的輸出不夠清晰,awk 還有一個 printf 的命令,可以幫助你將輸出格式化。
使用 printf 來格式化 Item_Name 和 Unit_Price 的輸出:
$ awk '//{printf "%-10s %s/n",$2, $3 }' my_shopping.txt
Item_Name Unit_Price
Mouse #20,000
Monitor #500,000
RAM_Chips #150,000
Ethernet_Cables #30,000
上述就是小編為大家分享的使用awk怎么輸出文本中的字段和列了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站欄目:使用awk怎么輸出文本中的字段和列
URL網(wǎng)址:http://muchs.cn/article12/geecdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站改版、靜態(tài)網(wǎng)站、虛擬主機、品牌網(wǎng)站設(shè)計、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)