文本管理工具
1.cat:查看文件,讀取鍵盤輸入
-A:查看文件所有信息
-n:顯示行數
-s:壓縮連續的空行
2.tac:倒序顯示文件內容
3.rev:行內的內容倒序顯示
3.more:分頁顯示
4.less:一頁一頁顯示
5.head:分行顯示,從頭開始
-n:n是數字,顯示要查找的行數
-c:指定獲取多少個字節
6.tail:從后向前顯示
-n:從后向前顯示行數
-c:查看截取的字節數
-f:顯示跟蹤文件,(如果有文件輸出到tail內,會自動更新顯示)
小技巧,可以用&,表示后天運行程序
7.cut:截取命令
-d:以什么字符截取
-f:顯示截取的第幾列
-c:按字符數切割 整列的前多少個字符
例:cat /etc/passwd | cut -d: -f3
表示用:分割,取第3列
–output-delimiter=* :表示用*號替換分隔
8.paste:合并兩文件內容
-d:指定分隔符
-s:壓縮成一行 自己文件列成一行,第二行表示是第二個文件列變成行
9.wc:統計行數
格式:行數 單詞數 字符數 文件名
-l:表示共有多少行
-w:表示單詞數
-c:表示字節數
-m:表示字符數
例:cat /etc/passwd |wc -l 這個文件有多少用戶(多少行)
10.sort:文本排序
-r:反向排序
-n:按數字大小排序
-t:以什么字符分隔選取
-k:選取多少列
-f:忽略大小寫
例:cat /etc/passwd | sort -rn -t: -k3 用戶按UID從大往小排序
-u:刪除輸出中的重復行
11.diff:比較兩個文件的不同
格式:diff file1 file2
文本處理工具
1.grep:文本過濾
-i:忽略大小寫
-o:顯示匹配文本
-v:顯示未匹配的行
-q:不輸出任何信息
-n:顯示匹配行號
-c:顯示匹配的行數
-e:或者的關系
-A:顯示匹配后的多少行 grep -A3
-B:顯示匹配前多少行
-C:顯示匹配上下文多少行
-w:正行匹配單詞 必須是單詞,兩個單詞相連無任何字符的不能匹配
正則表達式
分為:
基本正則表達式 BRE
可以字符匹配、次數匹配、錨定、分組
. :匹配任意單個字符;
[] :匹配指定范圍內的任意單個字符
[^] :匹配指定范圍外的任意單個字符
[:digit:]、[:lower:]、[:upper:]、[:alpha:]、[:alnum:]、[:punct:]、[:space:]
例:1、顯示/proc/meminfo文件中以大小s開頭的
2、顯示/etc/passwd文件中不以/bin/bash結尾的行
3、顯示用戶rpc默認的shell程序
*:匹配前面的字符任意次,包括0次
貪婪模式:盡可能長的匹配
.*:表示任意字符
\?:最多匹配1次,也可以是0次
\+:最少匹配1次 可以無窮大
\{m\}:匹配前面的字符m次
\{m,n\}:匹配前面的字符至少m次,至多n次
\{,n\}:匹配前面的字符至多n次
\{m,\}:匹配前面的字符至少m次
錨定:
^:在整行的開頭
$:在整行的結尾
\<或者\b:表示單詞的開始
\>或者\b:表示單詞的結束
分組:
\(\):將一個或多個字符捆綁在一起,當作一個整體進行處理
括號中匹配到的內容保存在變量中,用\1,\2等可以調用這些變量
括號中的內容看成整個一個連續的字符
例:添加用戶bash、testbash、basher以及nologin(其shell為/sbin/nologin),而后找出/etc/passwd文件 中用戶名同shell名的行
擴展正則表達式 ERE
^ :行首
$ :行尾
\<, \b :語首
\>, \b :語尾
?分組:
()
后向引用:\1, \2, …
? 或者:
a|b
例:顯示當前系統root、mage或wang用戶的UID和默認shell
原創文章,作者:landanhero,如若轉載,請注明出處:http://www.www58058.com/29876