你對linux命令並不是很了解,你想找一些這方面的資料學習,那這篇文章將會給你一個基本的指導。
讓我們從處理一些數據開始。假設我們有兩個文件,分別記錄的訂單清單和訂單處理結果。
order.out.log
8:22:19 111, 1, Patterns of Enterprise Architecture, Kindle edition, 39.99
8:23:45 112, 1, Joy of Clojure, Hardcover, 29.99
8:24:19 113, -1, Patterns of Enterprise Architecture, Kindle edition, 39.99
order.in.log
8:22:20 111, Order Complete
8:23:50 112, Order sent to fulfillment
8:24:20 113, Refund sent to processingcat
cat – 連接文件,並輸出結果
cat 命令非常的簡單,你從下面的例子可以看到。
jfields$ cat order.out.log
8:22:19 111, 1, Patterns of Enterprise Architecture, Kindle edition, 39.99
8:23:45 112, 1, Joy of Clojure, Hardcover, 29.99
8:24:19 113, -1, Patterns of Enterprise Architecture, Kindle edition, 39.99就像它的說明描述的,你可以用它來連接多個文件。
jfields$ cat order.*
8:22:20 111, Order Complete
8:23:50 112, Order sent to fulfillment
8:24:20 113, Refund sent to processing
8:22:19 111, 1, Patterns of Enterprise Architecture, Kindle edition, 39.99
8:23:45 112, 1, Joy of Clojure, Hardcover, 29.99
8:24:19 113, -1, Patterns of Enterprise Architecture, Kindle edition, 39.99如果你想看這些log文件的內容,你可以把它們連接起來並輸出到標准輸出上,就是上面的例子展示的。這很有用,但輸出的內容可以更有邏輯些。
sort
sort – 文件裡的文字按行排序
此時sort命令顯然是你最佳的選擇。
jfields$ cat order.* | sort
8:22:19 111, 1, Patterns of Enterprise Architecture, Kindle edition, 39.99
8:22:20 111, Order Complete
8:23:45 112, 1, Joy of Clojure, Hardcover, 29.99
8:23:50 112, Order sent to fulfillment
8:24:19 113, -1, Patterns of Enterprise Architecture, Kindle edition, 39.99
8:24:20 113, Refund sent to processing就像上面例子顯示的,文件裡的數據已經經過排序。對於一些小文件,你可以讀取整個文件來處理它們,然而,真正的log文件通常有大量 的內容,你不能不考慮這個情況。此時你應該考慮過濾出某些內容,把cat、sort後的內容通過管道傳遞給過濾工具。