linux 下的文本查看及處理

cat 查看文本內的信息
cat file1 file 2...
shift+pageup/pagedown 手動翻屏

tac  內容反過來顯示

more  支持翻頁  空格向後 一瓶  回車 向後 一行  b向前 一屏 

more file1 file2 ...

less file1  file2

    space/b 向後/向前  翻一屏
    enter/k 向後/向前  翻一行
    /字符串  搜索字符串  n像一個  N上一個
    ?字符串
   
    -n  顯示行號
    -E  顯示特殊控制字符  $ 行結束符 換行符
    q鍵 退出


head file   顯示文件頭部 前幾行  默認十行
    -n 數字
    -數字   顯示前多少行
   
tail file  顯示尾部多少行   默認十行
    -n 數字
    -數字   顯示後多少行
    -f

   
            文本處理
文本過濾工具:
    grep(只支持基本)  全局搜索正則表達式   egrep(支持擴展)  fgrep(不支持正則表達式)
        RE 正則表達式  包含幾個元字符
            兩類:基本和擴展不能同時使用
                基本正則表達式:
                    ^行首錨定符:grep "^bin" /etc/shells    顯示在行首出現這些字符的
                    $行尾錨定符:grep "bin$" /etc/shells    要求字符串必須出現在行?
                    .匹配任意單個字符:
                    *匹配其前的字符任意次(包括0次)
                    x\{m,n\} x至少出現m次 至多出現n次
                    []:指定範圍內的任意字符
                    [^]:不匹配指定範圍內的任意字符
                    \<    詞首錨定符    \b
                    \>    詞尾錨定符    \b
                    \(\)    \N     後向引用字符  引用第幾個
                    .*    匹配任意長度的任意字符
                   
                   
                擴展正則表達式:
                    ^行首錨定符:grep "^bin" /etc/shells    顯示在行首出現這些字符的
                    $行尾錨定符:grep "bin$" /etc/shells    要求字符串必須出現在行?
                    .匹配任意單個字符:
                    *匹配其前的字符任意次(包括0次)   
                    +匹配其前導字符一次或多次
                    ?匹配其前導字符一次或零次
                    |或者   
                    ()分組 把括號裏的分爲一組作爲一個字符對待
                    {} ==\{\}(不可用了)
                    \(\) 不再支持
                                                                 
            
        grep '模式' 文件...
            --color
            -E 擴展正則表達式
            -v反向過濾
            -i 忽略大小寫
            -A數字  匹配到的這一行的前N行
            -B數字    匹配到的這一行的後N行
            -C數字    匹配到的這一行的前後N行
            -o    表示進現實匹配到的字符串


cut:
    -d 指定分隔符 默認是空格
    -f 取第幾段   1-3 一到三段 1, 3一和三段
   


文件排序:
    #sort [options] files  默認升序
        -r 實現降序
        -n 按數值大小排序
        -u 只顯示一次重複的不予顯示
            sort -u  == uniq  連續的相同的行 才被認爲是重複行
    #uniq
        -u 只顯示不重複過的行
        -d 只顯示曾經重複過的行

    #wc 統計文件包含多少文字字母行的
        -l 只顯示行數
        -w 只顯示單詞
        -c 只顯示字符
    #diff 比較文件的不行
    #path 打補丁

 

sed  stream edite 流編輯器  行編輯器
#sed [option] {處理條件|處理規則}
#sed 'ADDR1,ADDR2/COMMAND' inpotfile
#sed '/PATTERN/PATTERN/COMMAND' intputfile  支持正則表達式對匹配到的行進行處理
#sed '/PATTERN,/PATTERN/PATTERN/COMMAND' intputfile  從第一次匹配到的行 開始到第二次匹配到的行結束
    -n 只顯示匹配到的行
    -e 同時執行多個操作   -e '' -e '' -e '' -e'' ...
    -i 直接對源文件進行操作
    p  匹配到顯示兩邊其他顯示1遍
    d:delete    刪除被模式匹配到的行
    a:append    在陪匹配到的行後面新增一行
    i:insert    在陪匹配到的行前面新增一行
        \n 換行符

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章