1. 程式人生 > >文本處理工具學習總結

文本處理工具學習總結

字符 得到 watermark a13 digi water 一個 計數 空白行

文本處理工具在用戶在使用計算機時極大程度的為用戶提供了便利。讓用戶可以輕松的整理文本,以及從中找出自己想要得到的信息。下面將簡單介紹一下一些常用的文本處理工具。
1.文件查看命令:cat,tac,rev
語法: cat[option]..[file]..
-E:顯示行結束符$
-n:對顯示出的每一行進行編號
-A:顯示所有控制符
-b :非空行編號
-s :壓縮連續的空行成一行技術分享圖片
分頁查看文件:more
語法: more[option]..[file]..
-d:顯示翻頁以及退出提示
一頁一頁的查看文件或stdin輸出:less
查看時有用的命令包括:
/文本 搜索 文本
n/N 跳到下一個 或 上一個匹配
2.查看部分文件的命令:
head,tail(橫向)
語法: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:第n和m字段
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作為字段界定符

    -k X 選項按照用c字符分隔的X列來整理能夠使用多次
    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. 正則表達式常用字符:錨定用法例子 只顯示百位數為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

文本處理工具學習總結