中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用awk怎么輸出文本中的字段和列

發布時間:2021-03-31 15:49:55 來源:億速云 閱讀:197 作者:Leah 欄目:系統運維

這期內容當中小編將會給大家帶來有關使用awk怎么輸出文本中的字段和列,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

例 1:我創建了一個名為 tecmintinfo.txt 的文本文件。

# vi tecmintinfo.txt

# cat tecmintinfo.txt

使用awk怎么輸出文本中的字段和列

在 Linux 上創建一個文件

然后在命令行中,我試著使用下面的命令從文本 tecmintinfo.txt 中輸出第一個,第二個,以及第三個字段。

$ awk '//{print $1 $2 $3 }' tecmintinfo.txt

TecMint.comisthe

從上面的輸出中你可以看到,前三個字段的字符是以空格為分隔符輸出的:

字段一是 “TecMint.com”,可以通過 $1 來訪問。 字段二是 “is”,可以通過 $2 來訪問。 字段三是 “the”,可以通過 $3 來訪問。

如果你注意觀察輸出的話可以發現,輸出的字段值并沒有被分隔開,這是 print 函數默認的行為。

為了使輸出看得更清楚,輸出的字段值之間使用空格分開,你需要添加 (,) 操作符。

$ 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怎么輸出文本中的字段和列了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

awk
AI

徐州市| 汕头市| 炎陵县| 阜平县| 修武县| 乳山市| 建阳市| 浠水县| 开封市| 周口市| 临清市| 金川县| 竹山县| 望谟县| 沅陵县| 阳西县| 莆田市| 科技| 房山区| 鄄城县| 外汇| 祥云县| 海安县| 玉山县| 湖口县| 嘉禾县| 盐源县| 临沧市| 仙桃市| 同德县| 和平县| 竹山县| 沙湾县| 安宁市| 枝江市| 彩票| 长沙市| 永靖县| 南岸区| 长岛县| 榆社县|