1:cut [選項] 文件名正則表達式
選項:vim
-f 列號: 提取第幾列排序
-d 分隔符: 按照指定分隔符分割列字符串
-c 字符範圍: 不依賴分隔符來區分列,而是經過字符範圍(行首爲 0)來進行字段提取。「n-」表示從第 n 個字符到行尾;「n-m」從第 n 個字符到第 m個字符;「-m」表示從第 1 個字符到第 m 個字符。cut 命令的默認分隔符是製表符,也就是「tab」鍵。awk
3:sed擴展
sed 主要是用來將數據進行選取、替換、刪除、新增的命令.sed
直接用命令對文件進行修改並非vi進行編輯。im
-n: 通常 sed 命令會把全部數據都輸出到屏幕,若是加入此選擇,則只會把通過 sed 命令處理的行輸出到屏幕。統計
-e: 容許對輸入數據應用多條 sed 命令編輯。數據
-f 腳本文件名: 從 sed 腳本中讀入 sed 操做。和 awk 命令的-f 很是相似。
-r: 在 sed 中支持擴展正則表達式。
-i: 用 sed 的修改結果直接修改讀取數據的文件,而不是由屏幕輸出動做:
a \: 追加,在當前行後添加一行或多行。添加多行時,除最後 一行外,每行末尾須要用「\」表明數據未完結。
c \: 行替換,用 c 後面的字符串替換原數據行,替換多行時,除最後一行外,每行末尾需用「\」表明數據未完結。
i \: 插入,在當期行前插入一行或多行。插入多行時,除最後 一行外,每行末尾須要用「\」表明數據未完結。
d: 刪除,刪除指定的
p: 打印,輸出指定的行。
s: 字串替換,用一個字符串替換另一個字符串。格式爲「行範圍 s/舊字串/新字串/g」(和 vim 中的替換格式相似)
sed 所作的修改並不會直接改變文件的內容(若是是用管道符接收的命令的輸出,這種狀況連文件都沒有),而是把修改結果只顯示到屏幕上,除非使用「-i」選項纔會直接修改文件。
例子:
(1) 行操做
sed '2p' student.txt 屏幕顯示2行數據
(2)只顯示-n 只顯示第二行
sed -n '2p' student.txt
(3)刪除2,4行數據
sed '2,4d' student.txt
(4)在第二行後面添加指定的字符串
sed '2a ddddddd' student.txt
(1) 在第二行前面添加制定的字符串
sed "2i heeeeeee" student.txt
(2) 行首替換爲#
sed '4s/^/#/g' student.txt
3:字符處理命令
(1) 排序 sort命令
-f: 忽略大小寫
-b: 忽略每行前面的空白部分
-n: 以數值型進行排序,默認使用字符串型排序 //數值排序
-r: 反向排序
-u: 刪除重複行。就是 uniq 命令
-t: 指定分隔符,默認是分隔符是製表符
-k n[,m]: 按照指定的字段範圍排序。從第 n 字段開始,m 字段結束(默認到行尾)
sort -n -r student.txt //按照字符數值降序排列
sort -n -t ":" -k 3,3 /etc/passwd
固然「-k」選項能夠直接使用「-k 3」,表明從第三字段到行尾都排序(第一個字符先排序,若是一致,第二個字符再排序,知道行尾)。
(2) uniq去除重複行
(3) 統計命令 wc
wc –l 統計行數