Linux 常用文字處理命令,常用指令引數

2021-08-30 08:27:56 字數 2811 閱讀 2764

文字處理: cut,sort,uniq,grep

cut:

-d: 指定字段分隔符,預設是空格

-f: 指定要顯示的字段

-f1 顯示第乙個字段

-f 1,3 顯示第乙個和第三個

-f 1-3 顯示第乙個到第三個

--complement: 反向列選擇

-c:僅顯示行中指定範圍的字元

例子cut -c1-3 /etc/passwd

cut -d: -f1,3 /etc/passwd

sort

-n:數值排序

-r:降序

-t:字段分隔符

-k:表示以那個字段進行排序

-u:排序後相同的行只顯示一次

-o:排序後的結果存入指定的檔案

-f:忽略字元大小寫

-b:忽略每行前面開始出的空格字元

例子sort -t: -k3 /etc/passwd

sort -t: -k4 -n /etc/passwd

seq 10 |sort -rn

uniq:

-c:顯示檔案中行重複的次數

-d:只顯示重複的行

grep

是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。

egrep和fgrep都是grep的擴充套件,命令只跟grep有很小不同

-c 或 --count : 計算符合樣式的列數。

-e《範本樣式》 或 --regexp=《範本樣式》 : 指定字串做為查詢檔案內容的樣式。

-e 或 --extended-regexp : 將樣式為延伸的普通表示法來使用。

-i 或 --ignore-case : 忽略字元大小寫的差別

-n 或 --line-number : 在顯示符合樣式的那一行之前,標示出該行的列數編號。

-q 或 --quiet或--silent : 不顯示任何資訊。

-r 或 --recursive : 此引數的效果和指定"-d recurse"引數相同。

-v 或 --revert-match : 顯示不包含匹配文字的所有行。

-a《顯示行數》 或 --after-context=《顯示行數》 : 除了顯示符合範本樣式的那一列之外,並顯示該行之後的內容。

-b《顯示行數》 或 --before-context=《顯示行數》 : 除了顯示符合樣式的那一行之外,並顯示該行之前的內容。

-c《顯示行數》 或 --context=《顯示行數》或-《顯示行數》 :

搜尋root的行

grep -n 'root' /etc/passwd

搜尋沒有root和行(-v 方向選擇)

grep -v 'root' /etc/passwd

利用搜尋集合字元 匹配 roat robt roct

grep -n 'r[abc]ot' /etc/passwd

搜尋oo前面沒有g的(^表示排除)

grep -n '[^g]oo' /etc/passwd

搜尋以小寫字母開頭

grep -n '^[a-z]' /etc/passwd

搜尋開頭不是英文本母的行

grep -n '^[^a-za-z]' /etc/passwd

搜尋以點結尾的行

grep -n '\.$' /etc/passwd

搜尋空行

grep -n '^$' /etc/passwd

搜尋非空行

grep -vn '^$' /etc/passwd

搜尋兩個以上的oo字串

grep -n 'ooo*' /etc/passwd

搜尋包含兩個o的字串的行

grep -n 'o\' /etc/passwd

搜尋兩個以上o的

grep -n 'go\g' /etc/passwd

去除空白後或者以#開頭

egrep -v '^$|^#' /etc/passwd or grep -ev '^$|^#' /etc/passwd

統計檔案或者文字中包含匹配字串的行數 -c

grep -c "root" /etc/passwd

搜尋多個檔案並查詢匹配文字

grep -c root /etc/passwd /root/passwd_test

在多級目錄中對文字進行遞迴搜尋 -r

grep -r 'root' /etc/

忽略匹配樣式中的字元大小寫

grep -i 'root' passwd_test

# 制動多個匹配樣式

grep -e root -e www passwd_test

#只在目錄中所有的.php和.html檔案中遞迴搜尋字元"main()"

grep "main()" . -r --include *.

#在搜尋結果中排除所有readme檔案

grep "main()" . -r --exclude "readme"

#在搜尋結果中排除filelist檔案列表裡的檔案

grep "main()" . -r --exclude-from filelist

#grep靜默輸出

grep -q root passwd_test

echo $?

#顯示匹配某個結果之前的3行

grep -b 3 nobody passwd_test

#顯示匹配某個結果之後的3行

grep -a 3 nobody passwd_test

#顯示匹配某個結果的前三行和後三行

grep -c 3 nobody passwd_test

常用文字處理命令

tr 用於替換文字中的字串 tr 原始字元 目標字元 cat anaconda ks.cfg tr a z a z 小寫替換大寫 wc統計指定文字的行數,字數,位元組數 l 只顯示行數 w 只顯示單詞數 c 只顯示位元組數 cut 用於按列提取文字字元 cut 引數 文字 cut d f1 etc ...

Linux下常用文字處理命令

linux下面有很多經典的非常有用的命令,其中處理文字的命令就有很多。這些小工具經過了幾十年時間的洗禮,現在已經變成了經典,已經變成了linux下面的標準,其實它們一直是遵循著linux的標準。下面就讓我們一起看看這些經典的linux文字處理命令。拓撲排序,讀取以空格分隔的有序對,並且依靠輸入模式進...

Linux下常用文字處理命令

linux下面有很多經典的非常有用的命令,其中處理文字的命令就有很多。這些小工具經過了幾十年時間的洗禮,現在已經變成了經典,已經變成了linux下面的標準,其實它們一直是遵循著linux的標準。下面就讓我們一起看看這些經典的linux文字處理命令。拓撲排序,讀取以空格分隔的有序對,並且依靠輸入模式進...