文本處理工具

本文主要介紹:1、文本查看工具 2、文本統計工具 3、文本比較工具

本文涉及到的命令主要有:

1、文本查看工具:? cat、tac、rev、more、less、head、tail、cut、paste

2、文本統計及整理工具:? wc、sort、uniq

3、文本比較工具:? diff、patch

一、文本查看工具

1、cat? ?tac? ?rev?文件查看

  • ? ? ? ? cat 語法:cat? [OPTION]… [FILE]…

? ? ? ? ? 常用選項:

-n ?顯示行號,空白行也算

-b ?顯示行號,空白行不算

-ns ?顯示行號,然后重復的行或字符去重顯示為一行或一個字符(連續且相同)

-A ?顯示所有控制符,所有的隱藏字符,TAB、換行之類

-E顯示行結束符$

  • tac :功能同cat,但把文本內容按行上下顛倒
  • rev :功能同cat,但把文本內容按列左右顛倒

2、more? 和? less? 分頁查看文件

  • more: 分頁顯示文件內容,只能向下翻頁,不能向上翻

? ? ? ? 選項:

-d ?能顯示提示信息

在more界面中,可以運行:? ? ?/string ?搜索關鍵字

q 退出more界面

  • less:分頁顯示文件內容,既能向上翻頁,又能向下翻頁

????????在less界面時:

/string ?向下搜索關鍵字

?string ?向上搜索關鍵字

n ?按照搜索方向,順向顯示下一個匹配到的內容

N ?按照搜索方向,逆序顯示下一個匹配到的內容

!COMMAND ?在less界面下,執行某命令,不用退出less

q 退出less界面

3、head? 和? tail? 顯示文本前或后行內容

  • head:顯示文件的前幾行,默認是前10行

????????語法:head? [OPTION]… [FILE]…

常見選項:

-c #:表示顯示文件的前#個字節

-n #:表示顯示文件的前#行

-#:與-n 數字 ?功能一樣,顯示文件的前幾行

  • tail:顯示文件的后幾行,默認是10行

????????語法:tail? ?[OPTION]? [FILE]…

常見選項:

-n # :顯示文件后幾行

-#:與-n 數字 功能一樣,顯示文件的后幾行信息

-c #:顯示文件的后多少個字節,而不是后幾行

-f? file :? 跟蹤顯示文件file新追加的內容,常用于日志監控。相當于 –follow=descriptor

-F? file:跟蹤文件名,若文件刪除會提示。相當于–follow=name –retry

-F 可與 -f? 聯用

  • ? ? tailf 類似于tail -f ,當文件不增長是并不訪問文件。

4、cut? 按列抽取文本

  • cut:字段截取工具,按照指定的分隔符進行分割后顯示,默認分隔符為TAB鍵

????????語法:cut? [OPTION]…? [FILE]…

-d ? 指定分隔符,默認為tab

-f? FILEDS

#? ?第#個字段

#,#[,#]… ? 離散的多個字段,如-f1,3,6

#-# ? ?連續的多個字段,如1-9

-c ?按字符切割,取第幾個字符到第幾個字符數顯示的內容(例:cut -c 1-9)

–output-delimiter=STRING ?指定輸出分隔符

5、paste? 合并文本

  • paste:合并兩個文件同行號的列到一行

? ? ? ? ?語法:paste? [OPTION]…? [FILE]…

選項:

-d 分隔符 ?合并時指定分隔符,默認為tab

-s ? 將一個文件所有行合并成一行顯示(一個文件放一行)

二、文本統計工具

1、wc? 收集文本統計數據

計數單詞總數、行總數、字節總數和字符總數

? ? ? ? ? ? ?例:wc /etc/passwd
41? ?79? ?2106? ?/etc/passwd

行數? ?字符數? ? 字節數

  • ? ? ? ? ?語法:wc? [OPTION]… FILE

? ? ? ? ? ? ? ? ? ? -l? ?計數多少行

-c? 計數多少個字節

-w? ?計數單詞數量

-m? ?計數字符數,1個漢字只算一個字符

-L? ? 顯示文件中最長行的長度

2、sort? 文本排序

  • ????????語法:sort? [OPTIONS]… FILE(s) 排序時默認是按字符a-z排序

????????常用選項

-r? ?倒序顯示

-R? 隨機排序

-n? 按數字大小排序

-f? ?忽略字符大小寫

-u? ?刪除結果中的重復行(不管相不相鄰,都去重)

-t STRING? ?使用指定字符做為分隔符

-k X? ?按照使用上面-t字符分隔的X列來整理

3、uniq? 去重(連續且相同為重復)

  • ????????語法:uniq? [OPTION]… [FILE]…

????????????-c? ? ?顯示每行重復出現的次數

-d? ? 僅顯示重復過的行

-u? ? ?僅顯示不曾重復的行

連續且完全相同方為重復

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

sort userlist.txt | uniq -c

三、文本比較工具

1、diff? 比較兩個文件之間的區別

  • ?語法:diff [OPTIONS]? FILE1? ?FILE2

? ? ? ? 常用選項:

-u? 利用重定向,輸出“統一的”diff格式文件,最適用于補丁文件

2、patch? 復制改變的數據到文件中(可用來打補?。?/h2>
  • ?語法:patch [OPTIONS]? FILE ?PA1TCHFILE

????????選項:

-b? ?自動備份改變了的文件

3、利用? diff? 和 patch? 給文件打補丁

例: diff -u f1 f2 > foo.patch? ? (比較文件? f1? 與 f2的區別,并將區別重定向于foo.patch)

patch -b f1 foo.patch? ? ?(利用foo.patch 和 f1 文件,即可找回? f2 文件)

==>? ?f1? (原f2的內容)? ? f1.orig? (原f1的內容)

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96474

(3)
bican813bican813
上一篇 2018-04-16 20:32
下一篇 2018-04-17 15:46

相關推薦

欧美性久久久久