文本處理工具

文本查看工具
less [les]  查看文件 功能比MORE更強大
     -N  顯示行號
     查看時使用的命令
     / OR ? 搜索的內容    搜索關鍵字
          n下一個匹配到的內容
          N上一個匹配到的內容
     space 向下翻一頁
     enter 向下翻一行
     u     向上翻半頁
     y     向上翻一行

cat  查看文件  內容會直接全部輸出在屏幕上
     -n    給每行前面加上行號
     -b    給非空行前面加上行號
     -s    把空行合并成一行
     -E    顯示行結束符$
     -T    顯示制表符
     -v    顯示隱藏字符
     -A    -vTE的組合,顯示所有隱藏字符
tac  倒著查看文件
more 查看文件  內容會一頁一頁的顯示在屏幕上
     enter     查看下一行
     space     查看下一頁
     Ctrl+B    查看上一頁
     b         回到最上面
     q         退出
head 查看文件頭10行(默認)
     -n number OR -number  查看文件前面指定數量的行數
     -c 總共獲取的字符數
tail 查看文件后10行(默認)
     -n number OR -number  查看文件后面指定數量的行數
     -f /[file]            跟蹤指定文件的新追加的內容 
     例子:tail -f /var/log/httpd/access_log | grep “172.16.1.10”
     -c 總共獲取的字符數
—————————————————————
文本編輯工具
cut  選取文本  按要求輸出文本的內容
     -d “:” 文本分隔符,默認是tab        
     -f #    以分隔符劃分的第幾個字段
             #           第幾個字段
             #,#[#,#]     不相連的多字段
             #-#          連續的字段
             #-#,#        混合字段
     -c #    以每行第#字符截取
 例子:cut -d “/” -f 1-2,4 /etc/fstab
paste 合并2個文件的同行號
      -d 分隔符:指定行劃分的界限
      -s 所有行顯示在一行顯示
例子:paste -d”:” -s file1 file2
—————————————————————–
文本數據收集與整理
wc  計算文本的單詞,字,行數.
例子: $wc /etc/fstab
       17  90 993 /etc/fstab
   17是行數    -l       只看行數
   90是單詞數  -w       只看單詞數
   993是字符數 -c OR -m 只看字數
sort 排序整理文件
    -r    反響整理文件 (上大下?。?br />     -n    按數學大小排序
    -f    忽略大小寫
    -u    刪除重復的行
    -t #  使用#作為字段分界符
    -k #  使用#以分界符為段數來排序
例子:sort -t “:” -k 3 -n /etc/passwd
uniq 從輸出中刪除前后相連的重復內容(去重)
    -c    顯示每行出現重復次數
    -d    之顯示重復過的行
    -u    之顯示不重復過的行(完全相同的行為重復)
例子:cat /etc/passwd | sort -n -d “:” -k 3 | sort -c
diff 比較2個文件的區別
例子:diff file1 file2
    6c6   第六行第六個字符不一樣
    < kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
    —
    > kkkkk7kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
——————————————————————–
linux文本處理三劍客
grep文本搜索工具
        egrep 擴展正則表達式
        fgrep 不支持正則表達式
sed 行編輯器
awk 文本處理工具
grep 文本搜索工具(過濾)
     #     #搜索的文本,可以調用變量“$USER” ‘$USER’,也可以用命令`whoami`
     –color=auto  對匹配到的文本作色顯示(7上支持)
     -v    不顯示匹配到的內容
     -i    忽略大小寫
     -n    顯示匹配的行號,在前面顯示匹配到的字段在文件里原有的行數位置
     -c    統計匹配的行數,之顯示匹配到多少數量。
     -o    只顯示匹配到的字符段。
     -q    靜默模式,不輸出任何信息。
     -w    匹配整個單詞
     -e    指定多個條件,條件是或的關系
           例子:grep -e “root” -e “ftpd” /etc/passwd
     -A #  匹配到的字段所在行的后#行  (其他參數最好在前面)
     -B #  匹配到的字段所在行的前#行  (其他參數最好在前面)
     -C #  匹配到的字段所在行的前后#行(其他參數最好在前面)
     -E    相當于egrep,使用新的正則。(ERE)
     -F    相當于fgrep,不使用正則表達式。
REGEXP 正則表達式
       由一類特殊字符及文本字符所編寫的模式,其中有些字符(元字符)不表示字符字面意義。
       正則表通常被用來檢索、替換那些符合某個模式(規則)的文本。
程序支持:grep,sed,awk,wim,less,nginx,,varnish等
分類:
       BRE 基本正則表達式:grep
       ERE 擴展正則表達式:egrep   grep -E
PCRE   正則表達式引擎
       PCRE是一個perl庫,采用不同算法,檢查處理正則表達式的軟件模塊.
元字符  正則表達式中具有特殊意義的專用字符
元字符分類  字符匹配、匹配次數、位置錨定、分組
    字符匹配  (要用[]再把特殊元字符擴上,不然系統會認定是普通括號)
        .         匹配任意單個字符
        []        匹配指定范圍內的任意單個字符
                      例子:grep -E [123] /etc/passwd
        [^]       匹配指定范圍外的任意單個字符
                      例子:grep -E [^123] /etc/passwd
        [:alnum:] 匹配字母和數字
                      例子:grep -vE [[:almun:]] /etc/passwd
        [:alpha:] 匹配大小寫字母
        [:lower:] 匹配小寫字母
        [:upper:] 匹配大寫字母
        [:blank:] 匹配空白區和制表符。等效于 [ \t]。
        [:space:] 匹配空格,制表符。
        [:cntrl:] 匹配不可打印的控制字符。(括換行符、換頁符、退格、空格、空、制表符、空白等)
        [:digit:] 匹配十進制數字(0-9)
        [:xdigit:]匹配十六進制數字(0-f)
        [:graph:] 匹配打印字符。等效于 [[:alnum:][:punct:]]。 (換行可以匹配到)
        [:print:] 匹配打印字符和空格。(不包擴制表位)
        [:punct:] 匹配標點符號
    匹配次數  用在指定次數的字符后面,指定字符出現的次數。
        *         匹配前面字符出現最少0次,最多無限次。(貪婪模式)
                      例子:.*  匹配任意長度的字符
        \?        匹配前面的字符0至1次。
        \+        匹配前面的字符至少1次。
        \{n\}     匹配前面的字符N次。
        \{m,n\}   匹配前面字符至少出現M次,最多出現N次。
        \{,n\}    匹配前面的字符最多出現N次。
        \{n,\}    匹配前面的字符最少出現N次。
    位置錨定  定位出現的位置
        ^         行首錨定  用于模式的最左側
                      例子:egrep ^[[:almun:]]* /etc/passwd
        $         行尾錨定  用于模式的最右側
                      例子:grep -E [1-7]/{3,10/}$ /etc/passwd
        ^root$    整行匹配
        ^$        空行
        ^[[:space:]]$ 匹配空行
        \< or \b  詞首錨定:用于單詞的左側
        \> or \b  詞尾錨定:用于單詞的右側
        \b#\b or \<#\>   匹配整個單詞
    分組      \(\) 將一個或多個字符捆綁在一起,當作一個整體進行處理。
              分組括號里匹配到的內容,會存入變量1中。左往右,從1開始往下數。
              \1  表示左邊第一個分組括號的匹配到的內容變量。
         \(string1\+\(string2\)*\)
         \1   string1\+\(string2\)*
         \2   string2
              后向引用:引用前面的分組括號中的模式所匹配字符,而非 模式本身
         \|   或  a\|b  a or b。

原創文章,作者:sheep,如若轉載,請注明出處:http://www.www58058.com/73255

(0)
sheepsheep
上一篇 2017-04-13 11:35
下一篇 2017-04-13 15:42

相關推薦

  • Linux終端類型

        終端(Terminal)也稱終端設備,是計算機網絡中處于網絡最外圍的設備,主要用于用戶信息的輸入以及處理結果的輸出等。在早期計算機系統中,由于計算機主機昂貴,因此一個主機(IBM大型計算機)一般會配置多個終端,這些終端本身不具備計算能力,僅僅承擔信息輸入輸出的工作,運算和處理均由主機來完成。在個人計算機時代,個人計算機可以運行稱為…

    Linux干貨 2016-10-13
  • 日志分析工具Awstats實戰之Nginx篇-分析結果靜態化

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1316979 前言: Awstats 是在 SourceForge 上發展很快的一個基原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處…

    Linux干貨 2016-08-15
  • N25 – Week6 作業

    春節過去了,我們又開學了,又可以寫博客,做作業了,好開心. 下面是第6周的博客作業: 請詳細總結vim編輯器的使用并完成以下練習題: 1. 復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc/sysinit文件中的以至少一個空白字符開頭的行的行首加#; [root@dhcp-10-129-6-166 ~]# …

    Linux干貨 2017-02-13
  • 正則表達式入門

    正則表達式入門 談到正則表達式,我們就得先了解一下POSIX。POSIX的全稱是Portable Operating System Interface foruniX,它由一系列規范構成,定義了UNIX,linux操作系統應當支持的功能,它定義了BRE(Basic Regular Expression,基本型正則表達式)和ERE(Extended Regul…

    2017-07-29
  • Shell腳本編程入門

    什么是Shell      操作系統最外層的程序,shell通過提示符讓用戶輸入,向操作系統解釋該輸入,然后處理來自操作系統的任何結果輸出來,管理用戶與操作系統之間的交互。      Shell是一個用戶跟操作系統之間的一個命令解釋器。Shell是用戶與Linux操作系統之間溝通…

    Linux干貨 2016-08-15
  • 2016年8月6日作業練習

    練習: 1、顯示/proc/meminfo文件中以大小s開頭的行;(要求:使用兩種方式) [root@localhost ~]# grep -i "^[sS]" /proc/meminfo SwapCached:      &nb…

    Linux干貨 2016-08-07
欧美性久久久久