關于文本的命令:
1.文件查看命令:
a.cat:查看文件,實現參數給的內容一個個顯示出來
-n:顯示行號(顯示的空行的行號)
-b:顯示行號(但空行不顯示行號)
-s:當有連續的多個空行壓縮為單行(只壓縮空行,多行連續的字符不會被壓縮)
-v:查看文件中的 ^M
-T:顯示文件中的TAB鍵顯示為^I
-e:顯示行結束符$
-A:顯示所有的控制符相當于 -evT
b.tac:與cat命令的用法相同,只是將cat命令顯示的內容反向顯示出來
c.tev:將文件中的字符倒序顯示,每一行倒序顯示。
2.分頁查看文件
a.more:按照頁數一頁頁的顯示文本中的內容
space:向下翻一頁
d:向下翻半屏
Enter:向下滾動一行
/PATTERN:查找想要匹配的字符
q:退出more顯示的內容,不再顯示該內容,退回到命令模式
d:向前翻一頁
b.less:分屏顯示內容
q命令退出
用法和man命令的指令相似
space:向下翻動一頁
/PATTERN:向下查詢“字符串”的功能
?PATTERN:向上查詢“字符串”的功能
n:重復前一個查詢的方向查詢
N:重復前一個查詢的反方向查詢
3.顯示文本前或后行內容
a.head:取出前N行的內容
head [OPTION]… [FILE]…
-c #: 指定獲取前#字節
-n #: 指定獲取前#行
-#:指定行數
b.tail:取出后N行的內容
tail [OPTION]… [FILE]…
-c #: 指定獲取后#字節
-n #: 指定獲取后#行
-#:指定行數
-f: 跟蹤顯示文件新追加的內容, 常用日志監控
※-f命令的擴展※
tail -f /var/log/message:查看日志監控文件,缺點當打開文件中會后無法繼續使用命令行編輯器去執行另外的操作
tail -f /var/log/message &:查看新增的日志文件,當日志的輸出打斷命令行的輸入時,無需重新輸入命令,只需將原來想要執行的命令執行完畢之后即可
4.按列抽取文本和合并文件
a.cut:將某些信息的某一段切割出來
cut [OPTION]… [FILE]…
-d DELIMITER: 指明分隔符,默認tab
-f FILEDS:
#: 第#個字段
#,#[,#]:離散的多個字段,例如1,3,6
#-#:連續的多個字段, 例如1-6
混合使用:1-3,7
-c:按字符切割
–output-delimiter=STRING 指定輸出分隔符
顯示文件或STDIN 數據的指定列
cut -d: -f1 /etc/passwd
cat /etc/passwd | cut -d: -f7
cut -c2-5 /usr/share/dict/words
b.paste 合并兩個文件同行號的列到一行
paste [OPTION]… [FILE]…
-d 分隔符: 指定分隔符,默認用TAB
-s : 所有行合成一行顯示
paste f1 f2
paste -s f1 f2
5.分析文本的工具
a.wc:文本數據統計
計數單詞總數、行總數、字節總數和字符總數;可以對文件或STDIN 中的數據運行
-l:來只計數行數
-w:來只計數單詞總數
-c:來只計數字節總數
-m:來只計數字符總數
wc story.txt
39 237 1901 story.txt
行數 字數 字符數
b.sort:整理文本
文本排序sort:把整理過的文本顯示在STDOUT ,不改變原始文件
sort [options] file(s)
-r 執行反方向(由上至下)整理
-n 執行按數字大小整理
-f 選項忽略(fold )字符串中的字符大小寫
-u 選項(獨特,unique )刪除輸出中的重復行
-t c 選項使用c 做為字段界定符
-k X 選項按照使用c 字符分隔的X 列來整理能夠使用多次
c.diff 和patch:比較文件
diff比較兩個文件之間的區別
diff foo.conf-broken foo.conf-works
5c5
< use_widgets = no
—
> use_widgets = yes
? 注明第5 行有區別(改變)
patch:復制對文件改變
diff 命令的輸出被保存在一種叫做“補丁”的文件中使用 -u 選項來輸出“統一的(unified )”diff 格式文件,最適用于補丁文件。
patch 命令復制在其它文件中進行的改變(要謹慎使用!)
適用 -b 選項來自動備份改變了的文件
diff -u foo.conf-broken foo.conf-works > foo.patch
patch -b foo.conf-broken foo.patch
d.uniq 命令:從輸入中刪除重復的前后相接的行
uniq [OPTION]… [FILE]…
-c: 顯示每行重復出現的次數;
-d: 僅顯示重復過的行;
-u: 僅顯示不曾重復的行;
連續且完全相同方為重復
常和sort命令一起配合使用:
sort userlist.txt | uniq -c
原創文章,作者:sjsir,如若轉載,請注明出處:http://www.www58058.com/30816