第六單元-文本處理工具
1.diff
diff 命令用於比較兩個文件的內容 , 以瞭解其區別。它還可用於創建補丁文件。補丁文件用於在企業環境的多臺計算機之間對相似文件進行更改-c ##顯示上下文周圍的行
-r ##從指定的目錄開始文件案執行遞歸式比較
-u ##使用同一輸出格式(對於生成補丁文件很有用)
示圖:兩個文件內容顯示
2.patch
patch 採用補丁文件 patchfile ( 包含由 diff 生成的差異列表 ) 並將這些差異應用於生成補丁版的一個或多個原始文件。通常 , 補丁版替換原始文件 , 但當指定 -b 選項時 , 可以製作備份。將用 .orig 文件名後綴重命名原始文件示圖:diff結合使用
示圖:
3.grep
grep 將顯示文件中與模式匹配的行。其也可以處理標準輸入 ##模式可以包含正則表達式元字符 , 因此始終爲正則表達式加引號通常被視爲一種好辦法。在本單元后面的部分中將介入-i ##執行不區分大小寫搜索
-n ##前置返回行的行號
-r ##對文件執行遞歸式搜索,從命名目錄開始
-c ##顯示過濾的行的個數
-v ##返回不包含模式的行
-E “關鍵字1|關鍵字2” ##過濾多個關鍵字
注意: ^關鍵字 ##以關鍵字開頭
關鍵字$ ##以關鍵字結尾
示圖:複製/etc/passwd到桌面,進行修改如下圖
4.cut
-d ##指定用於提取字段的分隔符(Tab是默認值)
-f ##指定要從每行提取的字段
-c ##指定要從每行提取的文本列
示圖:參數c
5.sort
-n ##按數值而非字符排序
-k ##設置排序字段
-t ##指定其他字段分隔符
-r ##倒序排列
示圖:
6.uniq
-u ##僅顯示唯一行
-d ##顯示重複行
-c ##每行顯示一次(包括出現計數)
示圖:uniq與sort結合使用實例
7.tr
tr 'A-Z' 'a-z' <file
示圖:
8.sed
由於 sed 命令通常包含可以解釋爲 shell 元字符的字符 ,因此請按下面示例所示引用 sed 命令。默認情況下 , sed對文件中的所有行執行操作。在提供 sed 時 , 可帶有地址
sed 's/原字符/替換字符/g' file ##執行字符串轉換,將原字符換爲替換字符
sed '3,5s/原字符/替換字符/g' file ##3-5行全部替換
sed -e '策略1' -e '策略2' file ##同時執行兩個操作
sed -i file ##將轉換後的內容輸入到指定文件內容
sed xd file ##屏蔽匹配的行
sed xp file ##複製指定行
sed -n xp file ##只顯示指定行
示圖:
練習題目:
1.建立腳本使滿足以下條件*存在userfile,裏邊存放用戶信息,使腳本將文件中的用戶建立
*存在passwordfile,裏邊存放用戶密碼,使腳本將此文件中的密碼自動匹配設置到新建立的用戶上
示圖:腳本內容
示圖:腳本檢測結果
示圖:
3.用命令實現只顯示IP
示圖: