Linux學習第六單元-文本處理工具

第六單元-文本處理工具


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


cut 用於 “ 剪切 ” 文件中的文本字段或列並將其顯示到標準輸出
-d  ##指定用於提取字段的分隔符(Tab是默認值)
-f  ##指定要從每行提取的字段
-c  ##指定要從每行提取的文本列

示圖:參數c


示圖:cut參數d和f


5.sort


sort 用於排序文本數據。該數據可以位於文件中或其他命令輸出中。 Sort 通常與管道一起使用
-n  ##按數值而非字符排序
-k  ##設置排序字段
-t  ##指定其他字段分隔符
-r  ##倒序排列
示圖:

6.uniq


uniq“ 刪除 ” 文件中重複的相鄰行。若要只打印文件中出現的唯一行(“ 刪除 ” 所有重複行 ), 必須首先對 uniq 的輸入進行排序。由於可以爲uniq 指定其決策所基於的字段或列 , 因此這些字段或列是對其輸入進行排序所必須的字段或列。如果未與選項一起使用 , uniq 會使用整個記錄作爲決策鍵 , 刪除其輸入中的重複行
-u  ##僅顯示唯一行
-d  ##顯示重複行
-c  ##每行顯示一次(包括出現計數)

示圖:uniq與sort結合使用實例


7.tr


tr 用於轉字符 : 即 , 如果給定了兩個字符範圍 , 則只要發現某個字符位於第一個範圍中 , 就會將其轉換爲第二個範圍中對等的字符。該命令通常在 shell 腳本中使用 , 以按預期情況轉換數據
tr 'A-Z' 'a-z' <file
示圖:


8.sed


sed 命令是流編輯器 , 用於對文本數據流執行編輯。假定要處理一個文件名 ,sed 將對文件中的所有行執行搜索和替換 , 以將修改後的數據發送到標準輸出 ; 即 , 其實際上並不修改現有文件。與 grep 一樣 , 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,裏邊存放用戶密碼,使腳本將此文件中的密碼自動匹配設置到新建立的用戶上
示圖:腳本內容

示圖:腳本檢測結果


2.查看當前進行的進程,以PID大小排倒序,且只顯示前五個
示圖:

3.用命令實現只顯示IP

示圖:




發佈了68 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章