Linux基礎命令之文件過濾及內容編輯處理(一)


. cat

  功能是連接多個文件並且打印到屏幕輸出,或重定向到指定的文件

  五大功能:

    1.查看文件內容  cat file.txt

    2.合並文件內容  cat file1 file2>newfile3

    3.創建便捷新文件  cat >file  輸入完成之后,使用ctrl+c結束即可

    4.清空文件內容  cat /dev/null >file.txt 

    5.非交互式的編輯或者追加內容到文件尾部

        cat>>file.txt<<EOF

          1234

        EOF

    -n  # 從1開始對多有輸出的內容按行編號

    -b  # 與-n類似,但是會忽略空白行

    -A  # 每行的行尾顯示$符號

 

 

. tac

  反向顯示文件內容

. more

  分頁顯示文件內容

.less

  less is more.分頁顯示文件內容,但是不是一次性加載文件內容,而是根據需要進行加載

  尤其是打開超大文件時,為了不影響磁盤IO,會使用此命令

  

. head

  顯示文件內容頭部,默認輸出開頭10行

  -n  指定顯示的行數,后面接n(數字)

  -c  以字節為單位

. tail

  顯示文件內容的尾部,默認輸出文件的最后10行

  -f   # 實時輸出文件變化后追加的數據  一般監控程序執行產生的日志,來定位問題

  --pid=進程號  # 與-f參數連用,進程結束后自動退出tail命令

  -n   # 顯示行數

  -c  # 顯示字節數,用法基本與head差不多

. tailf  

  跟蹤日志文件

  幾乎等同於 tail -f ,與之不同的是,如果文件不增長,name不會去訪問磁盤文件,也不會更改文件的訪問時間

  

. cut

  從文件的每一行剪切字節,字符或字段,並將這些字節,字符,或字段輸出至標准輸出

  -b    # 以字節為單位進行分割

  -n    # 取消分割多字節字符,與選項-b一起使用

  -c    # 以字符為單位進行分割

  -d    # 自定義分隔符,默認以空格為分隔符

  -f    # 指定顯示那個區域,與-d配合使用

  N    # 第N個字節,字符,字段

  N-

  N-M

  -M    # 從第1到第M個。。

cut -b 3-5,10 xiaolizi.txt
cut -b -3 xiaolizi.txt
cut -b 3- xiaolizi.txt
cut -b 3,3 xiaolizi.txt
cut -c 2-10 xiaolizi.txt
cut -d : -f 1 /etc/passwd
cut -d : -f 3-5 /etc/passwd

. split

  按照指定的行數或者指定的文件大小分割文件

   split [OPTION]... [INPUT [PREFIX]]

  -l  # 指定分割后文件的最大行數

  -b  # 指定分割后文件的最大字節數

  -a  # 指定后綴長度,默認為2位字母

  -d  # 使用數字后綴

aplit -l 10 -a 3 /etc/inittab new2_
split -b 500k -d lvm lvm_

 

. paste

  將文件按照行與行進行合並,中間默認使用空格隔開

  

paste test1 test2
paste -d: test1 test2    # 以:作為分隔符號
paste -s test1    # 將內容從列轉換為行

. sort

  將如數的文件內容按照指定的規則進行排序,然后排序結果輸出

  -n  # 依照數值大小進行排序

  -r  # 倒序排序

  -k  # 按指定區間排序

  -t  # 指定分隔符

  b  # 忽略每行開頭存在的空格字符

  -u  # 去出重復行  單獨的命令uniq

  

sort -t " " -k2 xiaolizi.txt
sort -n -t . -k3,3 -k4.1,4.3 arp.txt     # -n:按數字排序    -t . :按 . 座位分隔域    -k3,3:按第三個字段開始到第三個字段結束排序    -k4.1,4.3:按第四個字段第一個字符開始,到第四個字段,第三個字符結束

 

. join

  類似SQL語句中的join on語句,將文件里面關聯的內容進行合並,一般處理魚油相關性的文件

  合並的文件內容要求是經過sort排序后的

. uniq

  去除重復行

  一般是是將sort排序后的內容,通過管道傳遞給uniq進行處理

  -c  # 取出重復行,並計算每行出現的次數

  -d  # 只顯示重復的行

  -u  # 只顯示唯一的行

cut -d '/' -f 3 xiaolizi.log|sort|uniq -c |sort -rn
awk -F "/" '{print $3}' xiaolizi.log|sort|uniq -c|sort-rn

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM