1. 程式人生 > 其它 >Linux字元管理命令

Linux字元管理命令

1、grep 通過正則表示式提取帶有關鍵字的行
# ll /etc | grep ^d
grep 引數 關鍵字 檔案或目錄
引數:
-i ---忽略大小寫
-r ---遞迴 (目錄)
-v ---取反
-n ---抓取帶有關鍵字的行並列印行號
-c ---統計帶有關鍵字的行數

-C 數值 ---列印帶有關鍵字的行以及上下各幾行
-A 數值 ---列印帶有關鍵字的行以及下面幾行
-B 數值 ---列印帶有關鍵字的行以及上面幾行

2、cut 擷取列
-d ---指定分隔符
-f ---指定擷取位數
# cut -d " " -f 3 cut.cmd
# cut -d " " -f 1,3 cut.cmd
# cut -d ":" -f 1 /etc/passwd
或者
# cat /etc/passwd | cut -d ":" -f 1

3、wc ---統計命令
-l ---行數
-c ---位元組數
-w ---單詞數
# ll /etc | grep ^d | wc -l ---統計/etc下子目錄的個數

4、tr ---大小寫的轉換
# test=abcdefg ---在系統中宣告一個變數
# echo $test ---提取變數值
# echo $test | tr a-z A-Z

5、tac 檔名 ---檢視文字檔案,將內容倒置顯示


6、tee :將標準輸入的資料,輸出到檔案中
# echo $HOME | tee home.txt ---覆蓋原檔案內容
# who | tee -a home.txt ---追加

7、sed 流編輯器
-i ---將修改過的內容直接重定向到原檔案
-n ---改變預設顯示格式,只輸出進過sed處理的行
-e ---多點編輯

刪除
# sed 3d 檔名 ---刪除檔案中第三行
# sed 1,3d 檔名 ---刪除1-3行
# sed '3,$d' 檔名 ---從第三行刪除到檔案尾
# sed '/ftp/d' 檔名 ---刪除帶有關鍵字的行
檢索帶有關鍵字的行
# sed -n ‘/ftp/p’ 檔名

替換
# sed -n ‘s/date/data/pg’ 檔名 ---行內全面替換date為data

刪除1-3行後列印帶有關鍵字ftp的行
# sed -e 1,3d -e '/ftp/p' 檔名

8、awk 通過正則表示式,提取所需的行和列的資訊
-F ---指定分隔符
(1)提取行
①提取檔案中指定行
# awk NR==3 檔名 ---提取檔案中第三行

#獲取最後一列

awk -F ',' '{print $NF}'

#獲取倒數第二列

awk -F ',' '{print $(NF-1)}'

②提取檔案中帶有關鍵字的行
# awk '/ftp/' 檔名 ---提取帶有關鍵字ftp的行
(2)提取列
①分隔符為空格
# df -h | awk '{print $5}'
# awk '{print $1,$3}' 檔名 ---提取檔案中第一列和第三列

②特殊符號作為分隔符的
# cat /etc/passwd | awk -F ":" '{print $1}'

---提取所有的使用者名稱

9、sort 排序
sort 檔名 ---按照首字母進行正序排序,將所有內容當做字元處理
引數
-n ---按數值排序
-r ---逆序排序
-t ---指定分隔符
-k ---指定排序列

按照/etc/passwd檔案第三列數值從大到小排序
# sort -rn -t ":" -k 3 /etc/passwd
對檔案系統系統的使用率逆序排序
# df -h | tail -n +2 | sort -rn -k 5