文字流
shell 使用三種標準的 i/o 流,分別為:
stdin 是標準輸入流,為命令提供輸入,檔案描述符為0
stdout 是標準輸出流,顯示來自命令的輸出,檔案描述符為1
stderr 是標準錯誤流,顯示命令中的錯誤輸出,檔案描述符為2
輸出重定向
作用:輸出預設是到顯示器上,重定向可以將輸出寫到檔案中
命令 > 檔名 以覆蓋方式將正確結果寫入檔案
命令 >> 檔名 以追加方式將正確結果寫入檔案
命令 2> 檔名 以覆蓋方式將錯誤資訊寫入檔案
命令 2>> 檔名 以追加方式將錯誤資訊寫入檔案
命令 &> 檔名 以覆蓋方式將正確結果或錯誤資訊寫入檔案
命令 &>> 檔名 以追加方式將正確結果或錯誤資訊寫入檔案
命令 >檔名 2>&1 以覆蓋方式將正確結果或錯誤資訊寫入檔案
命令 >>檔名 2>&1 以追加方式將正確結果或錯誤資訊寫入檔案
命令 >> 檔案1
2>> 檔案2 以追加方式將正確結果寫入檔案1,將錯誤結果寫入檔案2
命令 &> /dev/
null 將結果丟入黑洞
管道符
作用:實現多條命令同時執行
命令1;命令2 兩條命令順序執行
命令1 && 命令2 命令1正確執行,命令2才會執行
命令1|| 命令2 命令1沒有正確執行,命令2才會執行
命令1| 命令2 命令1的輸出作為命令2的輸入
| sort
split
作用:對檔案按行進行分割形成新的檔案
格式:split -l rownum 舊檔名 新檔名的字首
eg :split -l 2 test.txt new 每兩行對檔案進行分割,形成新檔案
wc
作用:統計檔案大小
wc -l 檔名 統計檔案有多少行
wc -w 檔名 統計檔案有多少個單詞
wc 檔名 顯示結果從左到右依次為行數、單詞數、位元組數、檔名
head
作用:列印檔案的指定行
egcat test|head 列印前十行
cat test|head -n 2 列印前兩行
cat test|head -n -2 不列印最後兩行
tail
作用:列印檔案指定行
egtail test.txt 列印後十行
tail -n 2 test.txt 列印後兩行
tail -n +2 test.txt 不列印前1行
nl
作用:顯示檔案的內容並顯示行號
格式:nl 檔名
sort
格式:sort 選項
選項-f:忽略大小寫
-r:降序排列
-n:以數值型進行排序,預設為字串型排序
-t:指定分割符,預設為製表符
-k n [,m]:按第n個字段到第m個字段進行排序,如果不指定m,則到行尾
egsort -t ',' -rn -k1 -k5 -k9 -k11 4.log 多列排序
cut
作用:用於字元擷取
格式:cut 選項
選項-f column 提取第幾列
-d 分割字元 按照指定字元分割列,不支援以空格分割!
egcut -f
2,4-d
":" test.txt 以分號作為分割符,擷取第二列和第四列
uniq
作用:過濾掉重複的行,前提是重複行必須相鄰,所以常常與sort一起使用
格式:uniq [選項]
選項 -i 忽略大小寫
-c 顯示每行資料出現的次數
-d 只顯示重複的行
-u 只顯示唯一的行
tr
作用:對輸入的內容進行字元替換、字元刪除、以及重複字元的壓縮。tr命令只接受標準輸入
tr 'set1'
'set2' 將set1中的字元替換為set2中對應的字元
egecho 「hello world」| tr 'a-z'
'a-z' 將大寫字元轉換為小寫字元
echo
12345 | tr '0-9'
'9876543210' 實現數字的替換,進行加密
tr -d 『set』 將set中相應的字元刪除
egecho 「hello 123 」| tr -d
'0-9' 將輸入中的數字刪除
tr -s
'set' 將set中重複的字元刪除
egecho 「hello world are you ok 」tr -s
' ' 將輸入中的重複的空格刪除,只保留乙個
Linux文字過濾命令grep awk sed
grep的使用 一 grep一般格式 grep 選項 基本正規表示式 檔案 這裡的正規表示式可以為字串。在grep命令中輸入字串引數時,最好將其用雙引號括起來。呼叫變數時也可以使用雙引號。在呼叫模式匹配事,應使用單引號。二 grep常用選項 c只輸出匹配行的計數。i不區分大小寫 只用於單字元 h查詢...
Linux過濾文字並顯示過濾文字的上下文
grep a 3 ergo file.log 顯示file.log檔案中匹配ergo字串的那行以及後3行 grep b 3 ergo file.log 顯示file.log檔案中匹配ergo字串的那行以及前3行 grep c 3 ergo file.log 顯示file.log檔案中匹配ergo字串...
Linux命令(八)過濾文字 grep
grep是乙個強大的文字搜尋工具命令,用於查詢檔案中符合指定格式的字串,支援正規表示式。如不指定任何檔名稱,或是檔名為 則gerp命令從標準輸入裝置中讀取資料。grep家族包括grepegrep和fgrep。egrep 和 fgrep 命令只跟 grep 有很小的不同。egrep 是 grep 的擴...