在Linux系統中,一個核心理念就是:一切皆文件。正確的對系統中文本的編輯配置與管理是Linux系統得以穩定運行的一個重要大前提。
因此Linux系統中的文件與管理特別重要,下面簡單說一下在對文件處理過程中經常用到的一些命令工具。
文本查看命令:cat,tac,rev,more,less
cat [option]…[file]…
-E:顯示行結束符$
-n:顯示行號
-A:顯示所有控制符eg:tab鍵就顯示為 ^I
-b:非空行編號,即空行不顯示行號,略過
-s:壓縮連續的空行成一行
tac [option]…[file]…
-b, –before 在行前而非行尾添加分隔標志【默認換行】
-r, –regex 將分隔標志視作正則表達式來解析
-s, –separator=字符串 使用指定字符串代替換行作為分隔標志 -s="#"
rev [options] [file …]
reversing the order of characters in every line:將每一行的顯示翻轉過來
注意這里tac和rev不同的地方是,tac是將整個文檔以行為單位翻轉,而rev是以每一個字符為單位,在一行的范圍內翻轉。ABC–>CBA 而tac 是 ABC 【第一行】 123【第二行】 –>123【第一行】ABC【第二行】
more [options] file […] 翻到底自動退出
less [options] file […] 翻到底不會自動退出(man幫助查看就是用的less用法)
head [OPTION]… [FILE]…
-c # :指定獲取前#個字節
-n # 或 -# : 指定獲取行數
tail [OPTION]… [FILE]…
-c # :指定獲取前#個字節
-n # 或 -# : 指定獲取行數
-f :跟蹤顯示文件新追加的內容,常用語日志監控
cut [OPTION]… [FILE]…
-d : 指明分隔符,默認tab 。eg:-d" ",以空格為分割
-f FILEDS: #: 第#個字段 #,#[,#]:離散的多個字段,例如1,3,6
#-#:連續的多個字段, 例如1-6 混合使用:1-3,7
-c按字符切割 cut -c 1-10 anaconda-ks.cfg
–output-delimiter=STRING指定輸出分隔符
paste 合并兩個文件同行號的列到一行
paste [OPTION]… [FILE]…
-d 分隔符:指定分隔符,默認用TAB
-s : 所有行合成一行顯示
paste f1 f2
paste -s f1 f2 先合并成一行,在追加。n個文件就顯示n行。
wc [OPTION]… [FILE]…
-c, –bytes 顯示 字節數
-m, –chars 顯示 字符數
-l, –lines 顯示 行號
sort [OPTION]… [FILE]…
-r執行反方向(由上至下)整理
-n執行按數字大小整理 默認是按字符排序,即1,11,12…19,2,21…
-f選項忽略(fold)字符串中的字符大小寫
-u選項(獨特,unique)刪除輸出中的重復行
uniq[OPTION]… [FILE]…
-c: 顯示每行重復出現的次數
-d: 僅顯示重復過的行
-u: 僅顯示不曾重復的行
【連續且完全相同方為重復】
diff foo.conf-brokenfoo.conf-works
比較兩個文件的不同
【【【【【【【【【【【【以上命令均不改變原有文件的內容】】】】】】】】】】】】
—-joker的部落閣
原創文章,作者:joker,如若轉載,請注明出處:http://www.www58058.com/56496