使用Unix操作系統(tǒng)需要好習(xí)慣
當(dāng)我們學(xué)習(xí)使用Unix操作系統(tǒng)時,我們就應(yīng)該學(xué)習(xí)使用命令行,這對我們養(yǎng)成良好的習(xí)慣很有幫助。您的不良習(xí)慣甚至?xí)?dǎo)致出現(xiàn)混亂。糾正此類缺點的最佳方法之一,就是有意識地采用抵制這些壞習(xí)慣的好習(xí)慣。我們在文章中提出了幾個值得采用的 Unix操作系統(tǒng)命令行習(xí)慣。
Unix操作系統(tǒng)使用 awk 處理數(shù)據(jù)
awk 命令似乎始終處在 Perl 的陰影下,但它對于簡單、基于命令行的數(shù)據(jù)處理來說是一個快速、實用的工具。清單 15 顯示了如何開始使用 awk 命令。
若要獲取文件中每行文本的長度,請使用 length() 函數(shù)。若要查看字符串 ing 是否出現(xiàn)在文件文本中,請使用 index() 函數(shù),該函數(shù)返回 ing 首次出現(xiàn)的位置,這樣您就可以使用它來進行進一步的字符串處理。若要 tokenize(也就是說,將一行拆分為單詞長度的片段)某個字符串,請使用 split() 函數(shù)。
Unix操作系統(tǒng)基本 awk 處理 $ cat text
- testing the awk command
- $ awk '{ i = length($0); print i }' text
- 23
- $ awk '{ i = index($0,”ing”); print i}' text
- 5
- $ awk 'BEGIN { i = 1 } { n = split($0,a," "); while (i <= n) {print a; i++;} }' text
- testing
- the
- awk
- command
打印文本文件中的指定字段是一項簡單的 awk 任務(wù)。在清單 16 中,sales 文件包含每個銷售人員的姓名,后跟每月銷售數(shù)字。您可以使用 awk 命令來快速獲得每個月的銷售總額。缺省情況下,awk 將每個以逗號分隔的值視為不同的字段。您使用 $n 操作符來訪問每個字段。
Unix操作系統(tǒng)使用 awk 對數(shù)據(jù)進行匯總 $cat sales
- Gene,12,23,7
- Dawn,10,25,15
- Renee,15,13,18
- David,8,21,17
- $ awk -F, '{print $1,$2+$3+$4}' sales
- Gene 42
- Dawn 50
- Renee 46
- David 46
awk 命令可以很復(fù)雜并應(yīng)用于廣泛的情景中。若要更完整地學(xué)習(xí)Unix操作系統(tǒng)awk 命令,請從命令 man awk 開始。
使用Unix操作系統(tǒng)以上的方法,成為命令行高手需要進行一些實踐。按照相同的方式處理問題很簡單,因為您已經(jīng)習(xí)慣了。在漫漫學(xué)習(xí)Unix操作系統(tǒng)中,讓我們慢慢成長吧!
【編輯推薦】
- 管理Unix操作系統(tǒng)交換區(qū)
- 講述Unix操作系統(tǒng)環(huán)境
- 防止入侵Unix操作系統(tǒng)決策
- 無Unix操作系統(tǒng)安全之憂
- 快清理你的Unix操作系統(tǒng)吧