這篇具有很好參考價值的文章主要介紹了linux文本三劍客。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。
1、grep
過濾/查找
參數(shù) |
用法 |
作用 |
-i |
grep -i STRING xxx.txt |
從xxx.txt文件查找不區(qū)分大小寫STRING |
-w |
grep -w STRING xxx.txt |
精確匹配STRING |
-e |
grep -e STRING1 -e STRING2 xxx.txt |
查找多個STRING行 |
-n |
grep -n STRING xxx.txt |
查看STRING 在第幾行 |
-v |
grep -v STRING xxx.txt |
輸出不包含STRING的行 |
-r |
grep -r STRING DIR/ |
查找DIR目錄下哪個文件包含STRING,-lr就只輸出同一個文件名稱 |
-E |
grep -E 'aaa |
bbb’ xxx.txt |
-C |
grep STRING -C 5 xxx.txt |
查看上下5行 |
2、sed
逐行讀取并處理文件
增刪改查
參數(shù) |
參數(shù) |
用法 |
作用 |
-e |
sed -e '表達式' xxx.txt |
接表達式,可以接多個-ne -e |
-ie |
sed -ie '表達式' xxx.txt |
e可以省略,加上-e后會生成一個 xxx.txte的原文件作為副本方便恢復(fù),但是-i -e 并不會生成副本文件;-i確認修改生效 |
表達式 |
xi |
第x行前插入yyy |
sed -e '2i\hello world' xxx.txt |
xa |
第x行后插入yyy |
sed -e '2a\hello world' xxx.txt |
xd |
刪除第x行 |
sed -e '4d' xxx.txt |
xc |
覆蓋第x行(整行替換) |
sed -e '1c\aaaa' xxx.txt |
xs |
替換第x行的yyyy為kkk(局部替換) |
sed -e '2s/yyyy/kkk/' xxx.txt,這里只能替換一個yyyy,如果存在多個yyyy可以使用'2s/yyyy/kkk/g',表示把第2行中所有的yyyy替換為kkk |
xp |
指定打印第x行 |
sed -e '1p' xxx.txt,,但是用-e 會把緩存區(qū)的數(shù)據(jù)也讀出來,改為-n(表示只采用改變的內(nèi)容)即可 |
sed -e '表達式' xxx.txt
例如:
在第二行插入(i)hello world文章來源:http://www.zghlxwxcb.cn/news/detail-669773.html
sed -e '2i\hello world' test20230823.txt
文章來源地址http://www.zghlxwxcb.cn/news/detail-669773.html
3、awk
awk '{表達式}' xxx.txt
內(nèi)建變量 |
變量 |
作用 |
$0 |
完整的輸入記錄 |
$n |
當(dāng)前列,字段由FS分隔 |
FS |
字段分隔符,默認是空格 |
OFS |
輸出字段分隔符,默認值與輸入字段分隔符一致 |
NR |
行 |
NF |
|
參數(shù) |
參數(shù) |
用法 |
作用 |
-v |
sed -v OFS='#' 'print $1,$2,$3' xxx.txt |
OFS指定分隔符,這里以#把第一二三列進行拼接并打印出來 |
-F |
sed -F':' '{print $1}' xxx.txt |
告訴awk在處理文本時使用指定的分隔符來分割字段 |
表達式 |
{print $1,$2,$3} |
打印第一二三列 |
awk '{print $1,$2,$3}' xxx.txt |
{if (NR==4){print $0} else {print "這不是第四行"}} xxx.txt |
判斷是否是第四行,是則打印該行,不是則打印這不是第四行 |
awk '{if (NR==4){print $0} else {print "這不是第四行"}}' xxx.txt |
NR==2{print $0} |
打印第二行 |
awk 'NR==2{print $0}' xxx.txt |
/111/{print $0} |
打印以111開頭的行,正則 |
awk '/111/{print $0}' xxx.txt |
到了這里,關(guān)于linux文本三劍客的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!
本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!