*****************6.文件命令********************
## 1.diff ##
diff file file1 //比較兩個文件的不同
-c //顯示不同的行
-u //按照統一格式統一輸出生成補丁
-r //比較兩個目錄中文件的不同
patch file file.patch //打補丁
-b //備份原文件
## 2.grep ##
grep 關鍵字符 文件|目錄 //在文件或目錄中查找含有關鍵字的行
grep -i //忽略大小寫
-n //顯示關鍵字所在行
-c //顯示過濾結果的個數
-v //反向過濾
-E //“關鍵字1|關鍵字2“ 過濾多個關鍵字
-r 目錄 //在目錄中查找含有關鍵字的文件
注意: ^關鍵字 //以關鍵字開頭的
關鍵字$ //以關鍵字結尾的
例:在passwd文件中搜索含有root的行,並忽略大小寫
在passwd文件中搜索含有root的行,並顯示行號
在passwd文件中統計含有root的行的個數
在passwd文件中搜索含有root的行,且root不在行首
在passwd文件中搜索含有root或student的行
在/mnt中搜索含有root的文件
## 3.sort ## 排序
sort -n //純數字排序
-u //去掉冗餘
-t //指定分割符
-k //指定列
|uniq -c //去除冗餘,並統計冗餘個數
|uniq -d //顯示冗餘行
|uniq -u //顯示唯一行
例:對file文件純數字排序並去掉冗餘
對file文件純數字排序並去掉冗餘並統計冗餘個數
對file文件以:作爲分隔符對第二列做純數字排序
對file文件以:作爲分隔符顯示第二列冗餘行
對file文件以:作爲分隔符對第二列做純數字排序去掉冗餘並統計冗餘個數
對file文件以:作爲分隔符顯示第二列唯一行
## 4.cut ##
cut // 截取字符
-d 分隔符 //指定分隔符
-f 1,7 //顯示指定的列
## 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文件全部轉換成大寫
例:把passwd全文的root都替換成student
例:把passwd全文的root都替換成student並把所有的mail都替換成hello
例:把passwd的3-5行的nologin替換成root
例:查看passwd文件並複製第五行
例:查看passwd文件只顯示第五行
## 6.awk ##
awk '{pattern + action}' {filenames}
pattern 表示 AWK 在數據中查找的內容,而 action 是在找到匹配內容時所執行的一系列命令。
練習,現有兩個文件分別放有待創建的用戶的用戶名和用戶密碼
使用腳本創建這些用戶