一,
grep:作用過濾
sed:過濾替換(修改,取行)——>增刪查改
awk:過濾去列統計計算
grep的參數:
-i? =過濾不分大小寫
-v =取反
-n =顯示行號
-o =顯示過程(顯示每次grep匹配到的內容)
-E =支持擴展正則
-w =按照單詞進行匹配
-l =grep過濾的時候只顯示文件名,不顯示文件內容
-R =遞歸過濾
-A =顯示grep找出的內容及接下來幾行(ofter)
-B =顯示grep找出的內容及內容的上幾行(before)
-C =-C=-A? -B
-c= 統計包含xxx一共有多少行
二,
sed=stream? editor? 流編輯器(每個文件像源源不斷的水流)
sed的參數
-n? 取消默認輸出
-r? 支持擴展正則
-i ? 修改文件內容
esd功能:增刪改查
(1)查找(根據行號進行查找)
sed? -n ? '3p'? oldboy.txt (查找文件第三行內容)
sed? -n ? '3,4'p? oldboy.txt? (查找第三行到第四行的內容)
sed? -n? '/102/,/105/p'? oldboy.txt ? (從第一個開始到最后一個結束)——>從哪來到哪去(表示范圍)
sed? -n? '/oldb.y/p' ? oldboy.txt? (過濾)
(2)增加:a=appent? 追加在你指定行動的下寫入你要的東西
? ? ? ? ? ? ? ? ? ? i=insert? (插入在你指定的行上面追加內容)
sed? '3a119xiaohong'? oldboy.txt (追加到文件的第三行)
參數:-i? 修改內容
? ? ? ? ? -i.bak? 先備份再修改
? ? ? ?? c=replace ? (先把這一行的內容清空然后寫入)
(3)刪除
sed ?? '/^$/d'? oldboy.txt ? (刪除空行,不顯示空行)
sed -n ? '/^$/!p' oldboy.txt? (不顯示空行 ? !=不)
(4)修改:
替換:sed 's#oldboy#alex#g'? oldboy.txt ? (把oldboy替換為alex)
g=全局替換
s=替換
sed命令默認替換每一行的第一個內容(每一行第一個匹配到的)
后向引用:再前面的(##)把你要的內容保護起來,在后面兩個##之間通過\數字來使用(先保護后使用)
例如:echo? 123456 |sed? -r? 's#(.*)#<\1>#g'