基本文本處理工具
文本處理工具
用於處理文本的工具有很多,今天我們就來一個個說一說
文本查看工具 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的區別
基本文本處理工具