文本工具cut、wc、sort、uniq、tr

shell特殊符_cut命令

特殊符號

  1. 「*」 表明零個或多個字符
  2. 「?」 表明一個字符
  3. 「#」 註釋符號
  4. 「\」 脫意符號
  5. 「|」 管道符
  6. 「$」 該符號與「!」合用「!$」表示上一條命令中的最後一個變量
  7. 「;」 分隔符,在一行中運行兩個及兩個以上的命令時使用
  8.  「~」 用戶的家目錄(root用戶「/root」,普通用戶「/home/username」)
  9.  「&」 若是想把一條命令直接放到後臺運行的話,能夠在命令行加上這個符號(一般用於運行時間很是長的命令)
  10.  「[]」 中括號中間爲字符組合,表明中間字符中的任意一個。

 

「\」與「[]」

cut命令

cut命令用來顯示行中的指定部分,刪除文件中指定字段。cut常常用來顯示文件的內容,相似於下的type命令。
說明:該命令有兩項功能,其一是用來顯示文件的內容,它依次讀取由參數file所指明的文件,將它們的內容輸出到標準輸出上;其二是鏈接兩個或多個文件,如cut fl f2 > f3將把文件fl和幾的內容合併起來,而後經過輸出重定向符「>」的做用,將它們放入文件f3中。shell

語法: cut -d ‘分隔符’ [-cf] n [filename] (這裏n是正整數)
-d:指定分隔符號(如etc\passwd用「:」冒號,分割成七段)
-f:指定第幾段(如etc\passwd用「:」分割成七段)
-c:後面只有一個數字表示截取第幾個字符;後面跟一個數字區域,表示截取從幾到幾(該選項不和d,f共同使用)spa

sort_wc_uniq命令

sort

sort命令是在Linux裏很是有用,它將文件進行排序,並將排序結果標準輸出。sort命令既能夠從特定的文件,也能夠從stdin中獲取輸入。命令行

 

語法: sort [-t 分隔符] [options] [filename]
Options:
-t:指定分隔符
-n:使用純數字排序(系統默認全部字母爲0)
-r:反向排序
-u:=unique 去重複
-kn1,n2:由n1區間排序到n2區間,能夠只寫-kn1,即對n1字段排序(n1 < n2)日誌

sort不加任何選項,則從首字符向後,依次以ASCⅡ碼值進行比較,最後將它們按升續輸出。

t,k,n

-t 後面跟分隔符, -k 後面跟數字,表示對第幾個區域的字符串排序, -n 則表示使用純數字排序排序

k,r

-k3,5 表示從第 3 到第 5 區域間的字符串排序, -r 表示反向排序文檔

-nu=0

-nu 一塊兒用, sort 會把文檔中的字母當作 0。就只剩第一行了,由於它把全部的字符串都當作是 0 了。字符串

wc命令

wc命令用來計算數字。利用wc指令咱們能夠計算文件的Byte數、字數或是列數。it

 

語法: wc [options] [filename]
Options:
-l:=line 統計行數
-m:=member 統計字符數
-w:=Word 統計詞數io

說明: wc -m會統計文件內全部字符,包括隱藏的換行符「&」;wc -w是以空格做爲分隔符進行詞組統計的。後臺

uniq命令(unique)

uniq命令用於報告或忽略文件中的重複行,通常與sort命令結合使用(即:去重複)。

 

語法: uniq [options] [filename]
Options
-c:=count 在每列旁邊顯示該行重複出現的次數

說明: 直接使用uniq命令,2.txt內容顯示並無變化,使用sort排序後再用uniq命令,重複行被合併,即:在對文件進行去重以前須要先進行排序!

tee_tr_split命令

tee命令

tee命令用於將數據重定向到文件,會刪除文件內原有內容,與「>」不一樣的是,tee會把定向的文件內容顯示出來。

 

語法: tee [options] [filename]
Options
-a:向文件中重定向時使用追加模式(=「>>」)

tr命令

tr命令能夠對來自標準輸入的字符進行替換、壓縮和刪除,它能夠將一個字符變成另外一個字符,也能夠將一組字符變成另外一組字符。

語法: tr [源字符] [目標字符]

split命令

split命令能夠將一個大文件分割成不少個小文件,有時須要將文件分割成更小的片斷,好比爲提升可讀性,生成日誌等。

語法: split [options] [filename]
-b:指定每一輸出檔案的大小,默認單位爲 byte,可自定義單位,如 split -b 100M filename
-l:指定每個輸出檔案的行數多少

eg1 指定大小

eg2 指定行數

 shell特殊符號(下)

命令鏈接符: 「||」「&&」「;」

 

  • command1 ; command2 : 無論command1是否執行成功都會執行command2
  • command1 && command2 : 只有command1執行成功後纔會執行command2
  • command1 || command2 : 表示command1執行成功後,command2不執行,不然執行command2
相關文章
相關標籤/搜索