文本處理工具

1.diff命令
   用於比較兩個文件的內容,可用於創建補丁文件
   diff        -c        ##顯示上下文周圍的行
                -u        ##使用統一輸出格式(可用於生成補丁文件)

                -r         ##從指定目錄開始對文件進行遞歸式比較

  

  

2.patch命令
   採用補丁文件patch並將這些差異用於生成補丁版的一個或多個原始文件

   **需要下載服務軟件:yum install patch -y

  1)用diff生成的補丁文件file.path給file文件打補丁

 

  2)此時原file文件被覆蓋,若要備份源文件加上參數-b即可(會生成一個.orig文件)

  

3.grep命令

   顯示文件中與某關鍵字匹配的行。也可以處理標準輸入(如鍵盤輸入)

   grep                                             ##不加參數,默認精確查找(區分大小寫)

                         -i                            ##模糊搜索(不區分大小寫)

                         -n                           ##顯示匹配的行號(前置顯示)

                         -c                           ##顯示匹配的行數(只顯示數字)

                         -r                           ##對文件進行遞歸式搜索,從命名目錄開始

                         -v                           ##反選

                         -E                          ##查找多個關鍵字的行(整體用“”括起,關鍵字之間用|分隔)

   **各參數舉例(從/etc/passwd文件中複製一部分到/mnt中做如下實驗):

  

  

  

   **^root表示以root開頭,test$表示以test結尾

   **查找passwd文件中關鍵字爲test的行,除了以test開頭,或以test結尾的行

      grep test passwd | grep -E -v "^test|test$"

   **遞歸查找/mnt目錄中,含有westos 的行

      grep  -r westos  /mnt

4.cut命令

   剪貼文件中的文本字段或將其顯示到標準輸出

   cut              -d                      ##指定用於提取字段的分隔符(Tab是默認值)

                      -f   1,7              ##指定要從每行中提取的字段

                      -c  1-4              ##指定要從每行中提取的文本列

5.sort命令

   用於排序文本數據(該數據可位於文件或其他命令輸出中),sort經常與管道符一起使用。

   sort            -n                      ##按數值而非字符排序(默認正序,加r爲倒序,加u重複行只顯示一次)

                     -k                      ##設置排序字段

                     -t                      ##指定其他字段分隔符(默認爲空格)

   **以:爲分隔符,對file裏面的第三個字段進行排序:

      sort  -t  :   -k  3  -n  file

6.uniq命令

   刪除文件中重複的相鄰行

   uniq           -u                     ##顯示唯一行

                    -d                     ##顯示重複行

                    -c                     ##每行顯示一次(每行出現次數計數)

   **對file1文件排倒序,每行只顯示一次並統計每行出現次數:

      sort -rn file1 | uniq -c

7.tr命令

   用於轉換字符。

   **將file中的大寫字母轉換爲小寫:

      tr  'a-z'  'A-Z'  < file1

8.sed命令

   流編輯器 , 用於對文本數據流執行編輯(通常與管道符一起使用)。

   sed           's/old/new/g'      ##執行字符串轉換(將old換成new),s表示對全文處理,g表示每行的每個字符串都替換,否則只替換每行第一個字符串

                    -d                     ##刪除匹配行

                    -e  '策略1'  -e  '策略2'       ##處理多個策略

                    -i  file               ##將轉換後的內容輸入到file

                    '3,5s/old/new/g'              ##對3-5行進行替換

                    xd                    ##屏蔽指定行

                    xp                    ##複製指定行

**顯示本機(虛擬機)IP(只顯示IP):

   ifconfig eth0 | grep inet  | grep  inet6 -v | awk  -F  " "  '{print $2}'

**顯示佔用內存前五的進程的PID:

   ps ax -o pid --sort -%mem | grep PID -v | head -n 5

**給passwd文件加上行號輸入到westos文件中:

   cat  -b  passwd > westos

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章