非常強大的文本操縱工具,sed,awk,grep 這個三個命令 都是操作文本文件的unix系統有幾個非常命令的特點:1. 對於內核而言,unix文件都是位元組序列。io設備也是文件。2. 至於文件的含義交由應用程式來解釋。其中文本文件非常重要,因為unix提供 很多了實用程式(utility),這些程 ...
非常強大的文本操縱工具,sed,awk,grep 這個三個命令 都是操作文本文件的
unix系統有幾個非常命令的特點:
1. 對於內核而言,unix文件都是位元組序列。io設備也是文件。
2. 至於文件的含義交由應用程式來解釋。其中文本文件非常重要,因為unix提供 很多了實用程式(utility),這些程式功能相對獨立,但可以通過管道來實現進程間通信(IPC),這樣鬆散的耦合可以完成複雜的操作。那麼進程間的通信的數據格式是怎樣的呢? 其實對於實用程式而言,這個數據格式就是簡單的文本文件。此外,還有IO重定向,也是一個不錯的創意。至於文本文件中的內容採用什麼格式呢?這個很具體的命令有關,那麼操作文本就變得非常重要。grep,sed和awk就是三個操縱文本文件的命令
grep搜索
sed 修改和編輯文本文件中某些行
awk 是訪問文本文件,操縱文本文件中某些數據
明白了嗎?
sed 可理解為 stream editor 的簡稱,即文本流編輯器。以行為單位處理文本,可以做插入行、刪除行、行內文本替換等操作。
awk 中存在 記錄 和 欄位 兩個關鍵概念,通常預設一行就是一個記錄,一個記錄又可以被指定分隔符(預設是空格或tab)分割為多個欄位。因此awk更為靈活與強大(並且有很多內置函數和變數可使用)。
關於具體用法,太多了。強大的東西總不是三言兩語能夠說盡的。網上有很多教程可以看,例如:
Sed - An Introduction and Tutorial.doc
Awk - An Introduction and Tutorial.doc