文本處理工具學習總結
1.文件查看命令:cat,tac,rev
語法: cat[option]..[file]..
-E:顯示行結束符$
-n:對顯示出的每一行進行編號
-A:顯示所有控制符
-b :非空行編號
-s :壓縮連續的空行成一行
分頁查看文件:more
語法: more[option]..[file]..
-d:顯示翻頁以及退出提示
一頁一頁的查看文件或stdin輸出:less
查看時有用的命令包括:
/文本 搜索 文本
n/N 跳到下一個 或 上一個匹配
2.查看部分文件的命令:
語法:head[option]..[file]..
tail[option]..[file]..
head -cxx:指定獲取前xx字節
-nxx:指定獲取前xx行
-xx : 指定的行數
tail -cxx:指定獲取倒數xx字節
-nxx:指定獲取倒數xx行
-xx :指定倒數第xx行
-f:跟蹤顯示文件新追加的內容!
顯示第3行:
cut
語法cut[option]..[file]..
-d"分隔符":指明以什麽分隔(常與-f配合使用)
-f"數字":
n:第n個字段
n-m:連續多個字段 例如1-6
-c 按字符切割
以空格為分隔符的第三列:
paste 合並兩個文件同行號的列到一行
語法:paste[option]..[file]..
-d 分隔符:指定分隔符,默認tab
-s:所有行合成一行顯示
3.統計和整理工具
-
wc 計數總單詞數’,總行數,總字節數,總字符數。例如:統計文本總單詞數反向數字大小排序:
-| 計數行數
-w 計數單詞數
-c 計數字節數
-m 來只計數字符總數
sort 對文本進行整理排序(不改變原始文件)
-r 執行反方向整理
-n 執行按數字大小整理
-f 忽略字符串中的字符大小寫
-u選項刪除輸出中的重復行
-t c 選項使用c作為字段界定符
uniq 從輸入中刪除前後相接的重復的行
-c:顯示每行重復出現的次數
-d:僅顯示重復過的行
-u:僅顯示不曾重復的行
(常在sort整理後使用)4.從文本或文件中按條件或者關鍵字獲取信息:**grep
作用:文本搜索工具,根據用戶指定的“模式”對目標文 本逐行進行匹配檢查;打印匹配到的行 模式:由正則表達式字符及文本字符所編寫的過濾條件 。例子 匹配帶有9的單詞:只顯示9結尾的單詞:
--color=auto: 對匹配到的文本著色顯示
-v: 顯示不被pattern匹配到的行
-i: 忽略字符大小寫
-n:顯示匹配的行號
-c: 統計匹配的行數
-o: 僅顯示匹配到的字符串
-q: 靜默模式,不輸出任何信息
-A #: after, 後#行
-B #: before, 前#行
-C #:context, 前後各#行
-e:實現多個選項間的邏輯or關系
grep -e “abc” -e“asd”
-w:匹配整個單詞
-E:使用ERE
-F:相當於fgrep,不支持正則表達式-
正則表達式常用字符:錨定用法例子 只顯示百位數為1個位數為9的三位數:
. 匹配任意單個字符
[] 匹配指定範圍內的任意單個字符
[^] 匹配指定範圍外的任意單個字符
[:alnum:] 字母和數字
[:alpha:] 代表任何英文大小寫字符,亦即 A-Z, a-z
[:lower:] 小寫字母 [:upper:] 大寫字母
[:blank:] 空白字符(空格和制表符)
[:space:] 水平和垂直的空白字符(比[:blank:]包含的範圍廣)
[:cntrl:] 不可打印的控制字符(退格、刪除、警鈴...)
[:digit:] 十進制數字 [:xdigit:]十六進制數字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 標點符號* 匹配前面的字符任意次,包括0次 .* 任意長度的任意字符 \? 匹配其前面的字符0或1次 \+ 匹配其前面的字符至少1次 \{n\} 匹配前面的字符n次 \{m,n\} 匹配前面的字符至少m次,至多n次 \{,n\} 匹配前面的字符至多n次 \{n,\} 匹配前面的字符至少n次
位置錨定:定位出現的位置
^ 行首錨定,用於模式的最左側
$ 行尾錨定,用於模式的最右側
^PATTERN$ 用於模式匹配整行
^$ 空行
^[[:space:]]*$ 空白行
\< 或 \b 詞首錨定,用於單詞模式的左側
\> 或 \b 詞尾錨定;用於單詞模式的右側
\<PATTERN\> 匹配整個單詞
分組:() 將一個或多個字符捆綁在一起,當作一個整體進 行處理,如:(root)+
或者:| 示例:a|b: a或b C|cat: C或cat (C|c)at:Cat或cat
-
文本處理工具學習總結