使用Linux文字工具簡化資料的提取(一)(轉)
使用Linux文字工具簡化資料的提取(一)(轉)[@more@] 很多 Linux® 系統管理員都需要做一些整理純文字配置檔案的乏味工作。幸運的是,Linux 有很多源自於 UNIX® 的資料提取工具,包括 head、tail、grep、egrep、fgrep、cut、paste、join、awk 等。本文給出了幾個真實的例子,它們可以展示如何使用這些簡單的命令列工具更好地服務於系統管理工作。本文將逐一介紹這些資料提取工具及其操作,將它們應用到日常工作所使用的典型檔案中,並介紹一下為什麼這些工具對於從這些檔案中提取資料來說非常重要。
Linux 作業系統中有很多檔案:配置檔案、文字檔案、文件檔案、日誌檔案、使用者檔案,這個清單還在不斷增長。通常,這些檔案都包含了要查詢重要資料所需要訪問的一些資訊。儘管我們可以簡單地使用諸如 cat、more 之類的標準工具將大部分檔案的內容輸出到螢幕上,但是系統中有更加合適的工具可以對文字進行過濾和處理,這樣就可以只關心我們想要的內容。
在閱讀本文的過程中,您可以開啟 shell 並體驗一下每個工具的例子。
正規表示式
在開始之前,我們需要首先理解什麼是正規表示式,以及如何使用正規表示式。
在最簡單的形式中,正規表示式(regular expression)是用來在檔案中定位文字的一些搜尋標準。例如,要查詢所有包含單詞 “admin” 的行,我們就可以對 “admin” 進行搜尋。因此,“admin” 就構成了一個正規表示式。如果我們不但希望查詢 “admin”,而且還想將其替換成 “root”,那麼我們就可以在一個工具中使用適當的命令將 “admin” 替換成 “root”。它們都構成了正規表示式。
正規表示式所採用的一些基本規則如下:
● 任何單個字元或一串字元都可以匹配字元本身,例如上面的 “admin” 的例子。
● ^ 符號(^)表示一行的開始;$ 符號($)表示一行的結束。
● 要搜尋特殊字元(例如 $ 符號),需要在這些字元前面加上反斜線()。例如, $ 就表示查詢 $,而不是一行的末尾。
● 點(.)代表任何單個字元。例如,ad..n 代表 5 個字元項,前兩個字元是 “ad”,最後一個字元是 “n”。中間兩個字元可以是任何字元,但是隻能是由兩個字元組成。
● 任何時候如果正規表示式包含在斜線中(例如 /re/),搜尋就是透過檔案順序進行的。如果正規表示式包含在問號中(例如,?re?),搜尋就是透過檔案逆序進行的。
● 方括號([])表示多個值,減號(-)表示值的範圍。例如,[0-9] 與 [0123456789] 相同,[a-z] 就等效於搜尋任何小寫字元。如果一個列表的首字元是 ^ 符號,它就匹配不在這個清單中的任何字元。表 1 給出了這些規則是如何真正進行匹配的。
表 1. 示例正規表示式
Linux 作業系統中有很多檔案:配置檔案、文字檔案、文件檔案、日誌檔案、使用者檔案,這個清單還在不斷增長。通常,這些檔案都包含了要查詢重要資料所需要訪問的一些資訊。儘管我們可以簡單地使用諸如 cat、more 之類的標準工具將大部分檔案的內容輸出到螢幕上,但是系統中有更加合適的工具可以對文字進行過濾和處理,這樣就可以只關心我們想要的內容。
在閱讀本文的過程中,您可以開啟 shell 並體驗一下每個工具的例子。
正規表示式
在開始之前,我們需要首先理解什麼是正規表示式,以及如何使用正規表示式。
在最簡單的形式中,正規表示式(regular expression)是用來在檔案中定位文字的一些搜尋標準。例如,要查詢所有包含單詞 “admin” 的行,我們就可以對 “admin” 進行搜尋。因此,“admin” 就構成了一個正規表示式。如果我們不但希望查詢 “admin”,而且還想將其替換成 “root”,那麼我們就可以在一個工具中使用適當的命令將 “admin” 替換成 “root”。它們都構成了正規表示式。
正規表示式所採用的一些基本規則如下:
● 任何單個字元或一串字元都可以匹配字元本身,例如上面的 “admin” 的例子。
● ^ 符號(^)表示一行的開始;$ 符號($)表示一行的結束。
● 要搜尋特殊字元(例如 $ 符號),需要在這些字元前面加上反斜線()。例如, $ 就表示查詢 $,而不是一行的末尾。
● 點(.)代表任何單個字元。例如,ad..n 代表 5 個字元項,前兩個字元是 “ad”,最後一個字元是 “n”。中間兩個字元可以是任何字元,但是隻能是由兩個字元組成。
● 任何時候如果正規表示式包含在斜線中(例如 /re/),搜尋就是透過檔案順序進行的。如果正規表示式包含在問號中(例如,?re?),搜尋就是透過檔案逆序進行的。
● 方括號([])表示多個值,減號(-)表示值的範圍。例如,[0-9] 與 [0123456789] 相同,[a-z] 就等效於搜尋任何小寫字元。如果一個列表的首字元是 ^ 符號,它就匹配不在這個清單中的任何字元。表 1 給出了這些規則是如何真正進行匹配的。
表 1. 示例正規表示式
QUOTE:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-963512/,如需轉載,請註明出處,否則將追究法律責任。
請登入後發表評論
登入
全部評論
|
相關文章
- 使用 Linux 文字工具簡化資料的提取(轉)Linux
- DB2資料提取轉化的一個指令碼KCDB2指令碼
- 一款強大的資料庫提取資料工具資料庫
- 從 HTML 提取文字的 7 個工具HTML
- Python提取文字檔案(.txt)資料的方法Python
- 文字資料分析——主題提取+詞向量化
- 登錄檔資料提取工具RegRipper
- Outlook資料提取工具readpst
- WGET——LINUX下WEB檔案提取工具(轉)wgetLinuxWeb
- 使用Facebook的FastText簡化文字分類AST文字分類
- 如何使用Hadoop捆綁的低階工具進行資料提取?Hadoop
- NLPIR大資料平臺的文字資訊提取功能介紹大資料
- 【python介面自動化】- 使用json及jsonpath轉換和提取資料PythonJSON
- 提取資料夾中.lib檔名到文字中
- NYUD V2資料集的簡介與提取
- 使用jsonpath快速提取json的資料JSON
- Jailer 4.0.14 釋出,智慧資料提取工具AI
- swift——富文字文字的簡單使用Swift
- 使用FSO把文字資訊匯入資料庫 (轉)資料庫
- OCR圖片文字提取工具:Initiater for Mac中文版Mac
- 如何提取圖片中的文字?轉易俠這樣操作
- 表格轉文字如何實現-表格文字識別介面整合示例-快速提取表格中的文字
- (一)如何使用 Parsel 和 XPath 進行網頁資料提取網頁
- 簡化Linux的命令輸入(轉)Linux
- Linux文字搜尋工具grep使用詳解Linux
- 文字檔案的資料裝載工具sqlldrSQL
- 如何快速簡單的實現 Excel資料按列提取Excel
- 使用Chrome 開發者工具提取對應的字串Chrome字串
- LinchPin:一個使用 Ansible 的簡化的編配工具
- 用OMF來簡化資料庫管理(轉)資料庫
- kaarbe/html-extractor:從HTML中提取文字的簡單Java庫HTMLJava
- Excel 提取想要的資料Excel
- 一個轉換資料屬性名的工具
- 單例項資料庫工具轉化多例項資料庫單例資料庫
- 高效的PDF文字提取技術
- PHP文字資料表類 (轉)PHP
- PROC提取資料
- 語音轉文字工具,語音轉文字怎樣轉?