從結構化文本文件中提取數據工具
Shell腳本真正好用的地方是:當咱們想修改腳本讓它作點不同的事,例如插入由key:jobtilte文件而來的工做職稱時,只須要修改最後的管道。排序
join -t: $PERSON /etc/passwd.job-title |開發
join -t: - $OFFICE |it
join -t: - $TELEPHONE |awk
cut -d: -f 2- |變量
sort -t: -k1,1 -k3,3 -k4,4 |sed
awk -F: '{ printf("%-39s\t%-23s\t%s\t%s\n", $1,$2,$3,$4) }'程序
針對Web的結構型數據專欄
單詞列表數據
曾經有個趣聞,是說,1983到1987年之間,貝爾實驗室的研究專員某某寫了篇專欄《Programming Pearls》。專欄中有篇文章下的轉帖這麼寫到:寫一個文字處理程序,找出n個出現最頻繁的單詞,並在輸出結果的列表上加入它們出現的次數,按照次數由大到小排序。
後來一位資深的研究員提供了一個6個步驟UNIX解決方案,僅需進分鐘便能開發完成。這個程序闡明瞭UNIX工具程序的處理方式是強大的:將複雜的問題切分紅數個較簡單的部分,簡單到你已經知道這個部分該怎麼處理。
示例:
單詞出現頻率過濾器:
#! /bin/sh
tr -cs A-Za-z\' '\n' | 將非字母字符置換成換行符號
tr A-Z a-z | 全部大寫字母轉爲小寫
sort | 由小而大排序單詞
uniq -c | 去除重複,並顯示其計數
sort -k1,1nr -k2 | 計數有大而小排序後,再按照單詞由小而大排序
sed ${1:-25}q 顯示前n行(默認爲25)
專一下一講哦,下節講什麼?讓少良告訴大家吧
啊,對,講講變量、判斷和重複動做