本文涉及到的命令主要有:
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的內容)
????????選項:
-b? ?自動備份改變了的文件
例: 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