1. 程式人生 > >基本文本處理工具

基本文本處理工具

能夠 welcome 密碼 ctrl+d 忽略 less 技術 想去 上一個

文本處理工具

用於處理文本的工具有很多,今天我們就來一個個說一說

文本查看工具 cat tac rev

命令:cat

格式:cat [OPTION]... [FILE]...

選項: -v 顯示非打印字符

  -E 顯示每一行末尾$符

  -T 顯示TAB(以^I形式顯示)

  -n 顯示行號

  -s 將連續的空行壓縮成一行

  -A 相當於-vET

  -b 顯示所有的非空行編號

  cat是將文本按正常的格式顯示出來,我們還有另外兩個文本查看語句,是tac和rev,tac是將文本從最後一行開始,顯示至第一行;而rev也是反向顯示,不過是從每一行的最後一個字符開始顯示,然後倒數第二個字符,一直到第一個字符;三者的區別,我們可以從下圖看出:

技術分享

小練習:1、把文件1.txt的內容加上行號後,輸入到文件2.txt中。

技術分享

分頁查看文件內容 less more

命令:less

格式:less [OPTION]... [FILE]...

查看文件時常用指令:

  space, ctrl+v, ctrl+f, ctrl+F:向文件尾翻屏

ctrl+b:向文件首部翻屏

ctrl+d:向文件尾部翻半屏

ctrl+u:向文件首部翻半屏

ctrl+N, e, ctrl+E, j, ctrl+J: 向文件尾部翻一行

y, ctrl+Y, ctrl+P, k, ctrl+K:向文件首部翻一行

q: 退出

#:跳轉至第#行

  g: 回到文件首部

  G:翻至文件尾部

  /KEYWORD:以KEYWORD指定的字符串為關鍵字,從當前位置向文件尾部搜索(僅首次有效),不區分字符大小寫

    n:下一個

    N:上一個

命令:more

格式:more [OPTION]... [FILE]...

選項: -d 顯示翻譯及退出提示

顯示文本前或後行內容: head tail

命令:head

格式:head [OPTION]... [FILE]...(默認顯示前10行內容)

選項: -n 行號 顯示前n行

     -行號 顯示前n行

     -c 字節數 顯示前n個字節

技術分享

命令:tail

格式:tail [OPTION]... [FILE]...(默認顯示後10行內容)

選項: -n 行號 顯示後n行

  -行號 顯示後n行

  -c 字節數 顯示後n個字節

  -f 動態顯示(跟蹤顯示文件新追加的內容,常用日誌監控)

小練習:1、顯示/ect/passwd文件的第11行至第20行

技術分享

2、利用 cat /dev/urandom 生成10位字符長度的隨機密碼(包含大小寫字母及數字)

技術分享

按列抽取文本 cut

命令:cut

格式:cut [OPTION]... [FILE]...

選項:  -d 指定分隔符

     -f 選取第幾列

     n 第n個字段

     n-r 連續的多個字段

       n,n-r 混合使用

     --output-delimiter 指定輸出符

小練習:1、顯示當前主機的第一個網卡地址

技術分享

2、查出/app目錄的空間使用量

技術分享

合並文件paste

命令:paste

格式:paste [OPTION]... [FILE]...

選項: -s f1 將文件內容變成一行顯示

       也可以用 tr ‘\n‘ ‘\t‘ 實現

     -d "" f1 f2 [f3] 定義合並後的分隔符,默認為TAB

文本數據統計工具 wc (word count)

命令:wc

格式:wc [OPTION]... [FILE]...

選項:  -m 顯示字符數

     -c 顯示字節

 -l 顯示行數

 -w 顯示單詞數

wc 依次顯示行數,單詞數,字節數

小練習:1、統計當前目錄下文件數量

技術分享

文本排序 sort

命令:sort

格式:sort [OPTION]... [FILE]...

選項:  -r 執行反方向(由上至下)整理

 -n 執行按數字大小整理

 -f 選項忽略(fold)字符串中的字符大小寫

-u 選項(獨特,unique)刪除輸出中的重復行

-t c 選項使用c做為字段界定符

-k X 選項按照使用c字符分隔的X列來整理能夠使用多次

小練習:1、找出分區利用率最大的值

技術分享

去重管理 uniq

命令:uniq

格式:uniq [OPTION]... [FILE]...

選項: -c 顯示連續重復的次數

   -d 僅顯示重復的次數

   -u 僅顯示不曾重復的行

uniq僅能去除連續的重復行,如果想去除非連續的行,需要先用sort排序。

小練習:1、將此字符串:welcome to magedu linux 中的每個字符去重並排序,重復次數多的排到前面

技術分享

比較文件diff

命令:diff

格式:diff 文件A 文件B

Eg:比較文件one.txt和文件two.txt的區別

技術分享

基本文本處理工具