天天看點

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

目錄

檔案檢視:

cat

 rev

分頁檢視檔案内容:

more

 less

顯示文本前或者後行的内容

head

tail

 按列抽取文本cut和合并檔案paste

cut 

 paste

 分析文本的工具

收集文本統計資料wc

文本排序sort

uniq

在Linux中有許多可以抽取文本的工具,熟悉掌握這些使用的小工具,能極大的提高工作效率。下面對這幾個工具做簡單介紹。

檔案檢視:

常用的檔案檢視指令有:cat、tac、rev

cat

cat是Linux下一個文本輸出指令,通常用來檢視某個檔案的内容。

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

cat常用的三種功能:

1、用于檢視完整的檔案内容。在cat後直接跟要檢視的檔案名,即可檢視該檔案内容。例如下圖:檢視/etc/passwd

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

2、利用重定向>,可用于建立新檔案。(僅适用于建立之前不存在的新檔案,不能編輯存在的檔案)。例如下圖:建立新檔案file23,并寫入hello world!

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

3、可以将幾個檔案合并成一個檔案。 例如下圖:将檔案f1和file123合并成一個檔案,并将合并後結果儲存到test檔案中。

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

常用參數:

-E:顯示行結束符$

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-n:對顯示的結果每一行編号

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-A:顯示所有控制符

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-b: 非空行編号

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

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

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

tac

和cat作用相同,但是結果上下反方向顯示。例如下圖test1檔案。

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

 rev

rev指令将檔案中的每行内容以字元為機關反序輸出,即第一個字元最後輸出,最後一個字元最先輸出,依次類推。例如下圖file123檔案。

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

分頁檢視檔案内容:

more

more指令可以分頁檢視檔案檔案,左下角會顯示目前顯示距離文末的百分比,通過空格鍵可以每次向下顯示一屏内容,Enter鍵每次向下翻一行。按q鍵可以退出。

指令格式:more [OPTIONS...] FILE...

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

 less

less:一頁一頁地檢視檔案或STDIN輸出

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

使用 “/ 文本” 可以搜尋檔案中符合要求的文本并且,使用n/N 可以跳到下一個 或 上一個比對

less 指令是man指令使用的分頁器

顯示文本前或者後行的内容

head

head指令用于顯示檔案的開頭的内容。在預設情況下,head指令顯示檔案的頭10行内容。

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-c#:指定擷取前#個位元組。例如下圖:擷取etc/passwd檔案中前10個字元。

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-n#:指定擷取前#行。例如下圖:擷取、etc/passwd檔案中前三行。

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

tail

tail 用于顯示檔案的結尾的内容。在預設情況下,head指令顯示檔案的末尾10行内容。

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-c #: 指定擷取後#位元組

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-n #: 指定擷取後#行

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-f: 跟蹤顯示檔案fd新追加的内容,常用日志監控。相當于 --follow=descriptor

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具
Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

 按列抽取文本cut和合并檔案paste

cut 

cut指令用來顯示行中的指定部分,删除檔案中指定字段。

-d  DELIMITER: 指明分隔符,預設tab

-f FILEDS:

      #: 第#個字段

      #,#[,#]:離散的多個字段,例如1,3,6

      #-#:連續的多個字段, 例如1-6

例如,截取、etc/passwd檔案中的使用者名和對應的shell類型

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

 paste

paste指令用于将多個檔案按照列隊列進行合并。

-s : 所有行合成一行顯示

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

 分析文本的工具

收集文本統計資料wc

計數單詞總數、行總數、位元組總數和字元總數

可以對檔案或STDIN中的資料運作

常用選項

-l隻計數行數

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-w 隻計數單詞總數

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-c 隻計數位元組總數

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-m 隻計數字元總數

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-L 顯示檔案中最長行的長度

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

文本排序sort

把整理過的文本顯示在STDOUT,不改變原始檔案

sort [options] file(s)

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

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-R 随機排序

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

-n 執行按數字大小整理

Linux中幾個簡單實用的文本處理工具檔案檢視:分頁檢視檔案内容:顯示文本前或者後行的内容 按列抽取文本cut和合并檔案paste 分析文本的工具

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

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

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

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

uniq

uniq指令:從輸入中删除前後相接的重複的行

uniq [OPTION]... [FILE]...

-c: 顯示每行重複出現的次數

-d: 僅顯示重複過的行

-u: 僅顯示不曾重複的行

注:連續且完全相同方為重複

常和sort 指令一起配合使用:

sort userlist.txt | uniq -c

繼續閱讀