聲明:
以下內(nèi)容為個(gè)人筆記,內(nèi)容不完全正確,請謹(jǐn)慎參考。
文本處理工具
cut:
cut 工作是“剪”,具體來說就是在文件中負(fù)責(zé)剪切數(shù)據(jù)。cut 命令從文件的每個(gè)行剪切字節(jié)、字符和字段輸出。
1、基本語法:
cut [選項(xiàng)參數(shù)] filename
說明:默認(rèn)分隔符是副表符
2、選項(xiàng)參數(shù)說明
選項(xiàng)參數(shù):1)-f 2)-d 3)-c
功能:1)列號,提取第幾列 2)分隔符,按照指定分隔符分割列,默認(rèn)是制表符"\t" 3)按照字符進(jìn)行切割,后加n表示取第幾列 比例 -c 1
3、案例:
獲取系統(tǒng)中PATH變量,第2個(gè)":"開始后的所有路徑
切割ifconfig后打印IP地址
以ens33IP地址為例:
所有網(wǎng)卡IP切割如下:
awk:
一個(gè)強(qiáng)大的文本分析工具,把文件逐行的讀入,以空格默認(rèn)為分隔符將每行切片,切開的部分再進(jìn)行
分析處理。
1)基本語法:
awk [選項(xiàng)參數(shù)] '/pattern1/{action}' '/pattern2/{action}'......... filename
pattern 表示awk在數(shù)據(jù)查找中地內(nèi)容,就是匹配模式
action 在找到匹配內(nèi)容時(shí)所執(zhí)行的一系列命令。
2)選項(xiàng)參數(shù)說明
-F 指定輸入文件分隔符
-V 賦值一個(gè)用戶定義變量
3)案例:
以root開頭的所有行,輸出第7列
以root開頭的所有行,輸出第1列和第7列
只顯示/etc/passwd第一行和第七列,以逗號分割,具在所有行前面添加列名"user,shell"在最后一行添加"end of file"。
4)awk內(nèi)置變量
FILENAME: 文件名
NR: 已讀的記錄數(shù)(行號)
NF: 瀏覽記錄域的個(gè)數(shù)(切割后列的個(gè)數(shù))
5)案例實(shí)操
1、統(tǒng)計(jì)passwd文件名,行號,列數(shù)
非管道操作:
2、查尋ifconfig 命令輸出結(jié)果的空行所在的行號
復(fù)雜:
簡單:
拓展:切割輸出IP
復(fù)雜:文章來源:http://www.zghlxwxcb.cn/news/detail-857562.html
簡單:文章來源地址http://www.zghlxwxcb.cn/news/detail-857562.html
到了這里,關(guān)于shell腳本文本處理工具的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!