linux筆記 2-6 文件命令

*****************6.文件命令********************
## 1.diff ##
diff     file file1         //比較兩個文件的不同
     -c                     //顯示不同的行
     -u                     //按照統一格式統一輸出生成補丁
     -r                     //比較兩個目錄中文件的不同
patch    file file.patch    //打補丁
      -b                    //備份原文件

wKiom1gi_6LQSGI6AADhf5wU-Vg773.png

wKiom1gi_6PyCZ2fAADslq8zfTk463.png


## 2.grep ##
grep 關鍵字符 文件|目錄     //在文件或目錄中查找含有關鍵字的行
grep  -i                    //忽略大小寫
     
-n                    //顯示關鍵字所在行

      -c                    //顯示過濾結果的個數
      -v                    //反向過濾
      -E                    //“關鍵字1|關鍵字2“ 過濾多個關鍵字
      -r 目錄               //在目錄中查找含有關鍵字的文件
注意: ^關鍵字              //以關鍵字開頭的
       關鍵字$              //以關鍵字結尾的

例:在passwd文件中搜索含有root的行,並忽略大小寫

wKioL1gjAHSDGF73AAAxST6kYZs114.png

在passwd文件中搜索含有root的行,並顯示行號

wKiom1gjAHSQ7jmkAAAm-tkZK7A618.png

在passwd文件中統計含有root的行的個數

wKioL1gjAHTweVEfAAAJarRiOXo867.png

在passwd文件中搜索含有root的行,且root不在行首

wKioL1gjAHWzl-QuAAAZP5-5THg051.png

在passwd文件中搜索含有root或student的行

wKiom1gjAHbhQExaAAAgUHmRs1I546.png

在/mnt中搜索含有root的文件

wKioL1gjAHegW0AgAAAx36Jiszg703.png

## 3.sort ## 排序
sort   -n                   //純數字排序
       -u                   //去掉冗餘
       -t                   //指定分割符
       -k                   //指定列
            |uniq -c        //去除冗餘,並統計冗餘個數
            |uniq -d        //顯示冗餘行
            |uniq -u        //顯示唯一行

例:對file文件純數字排序並去掉冗餘

wKiom1gjAe7QeW_5AAAPddxtwHA219.png

對file文件純數字排序並去掉冗餘並統計冗餘個數

wKiom1gjAe7wJewGAAASEL6yw0U179.png

對file文件以:作爲分隔符對第二列做純數字排序

wKioL1gjAe7S5rHpAAAT5jrA6s0999.png

對file文件以:作爲分隔符顯示第二列冗餘行

wKioL1gjAe2A_Gq-AAASV17P2lc550.png

對file文件以:作爲分隔符對第二列做純數字排序去掉冗餘並統計冗餘個數

wKioL1gjAe-D22zyAAAlzwr4qaQ499.png

對file文件以:作爲分隔符顯示第二列唯一行

wKiom1gjAfDBnRnUAAAe8ko5584276.png

## 4.cut ##

cut                         // 截取字符
     -d 分隔符              //指定分隔符
     -f 1,7                //顯示指定的列

     -c 1-4                 //顯示指定的字符

## 5.sed ##

tr ‘a-z’ ‘A-Z’ file                   //轉換大小寫


sed   's/原字符/替換字符/g'   file        //替換
      -e '策略1'  -e '策略2'  file        //多個策略一起替換
      -i file                             //把轉換後的內容輸入到指定文件
      '3,5s/原字符/替換字符/g' file      //轉換3-5行
       5d file                            //屏蔽第五行
       5p file                            //複製第五行
       -n 5p file                         //只顯示第五行

例:把passwd文件全部轉換成大寫

wKiom1gjBLWQLgclAAA9Xp6NX-s775.png

例:把passwd全文的root都替換成student

wKioL1gjBLajAGqkAAB_eeTNQwM811.png

例:把passwd全文的root都替換成student並把所有的mail都替換成hello

wKioL1gjBLfD75cNAACKa8e7Oiw024.png

例:把passwd的3-5行的nologin替換成root

wKioL1gjBLjgBYQ9AAB4j6YMcVw463.png

例:查看passwd文件並複製第五行


wKioL1gjBbDRFtFrAABtob37zog507.png

例:查看passwd文件只顯示第五行

wKioL1gjBbXhiJpTAAAb-uxsxxQ609.png

## 6.awk ##

awk '{pattern + action}' {filenames}

 pattern 表示 AWK 在數據中查找的內容,而 action 是在找到匹配內容時所執行的一系列命令。



練習,現有兩個文件分別放有待創建的用戶的用戶名和用戶密碼

使用腳本創建這些用戶


wKiom1gjBbbRkPIeAABWL9Lorec878.png

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