Linux Shell(三)

從結構化文本文件中提取數據工具

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)

 

專一下一講哦,下節講什麼?讓少良告訴大家吧

啊,對,講講變量、判斷和重複動做

相關文章
相關標籤/搜索