Linux 常用的文本處理命令 grep,sed(流編輯器),awk(報告文本生成器) sed 基本用法: sed : Stream EDitor 行編輯器(逐行處理文本) 全屏編輯器:vi sed: 模式空間 預設不編輯原文件,僅對模式空間的數據做處理,而後,處理結束後,將模式空間列印至屏幕 se ...
Linux 常用的文本處理命令
grep,sed(流編輯器),awk(報告文本生成器)
sed 基本用法:
sed : Stream EDitor
行編輯器(逐行處理文本)
全屏編輯器:vi
sed: 模式空間
預設不編輯原文件,僅對模式空間的數據做處理,而後,處理結束後,將模式空間列印至屏幕
sed [option] 'AddressCommand' file ...
-n : 靜默模式,不再顯示模式空間的內容
-i : 直接修改原文件
-e script -e script: 可以同時執行多個腳本 script為腳本
-r :表示使用擴展正則表達式
Address:
1 StartLine,EndLine
1,100 從第一行到第一百行
$: 最後一行
2 /RdgExp/
/^root/
3 /pattern1/ , /pattern2/
第一次被pattern 匹配到的行開始,至第一次被pattern2匹配到的行結束,這中間的所有行
4 LineNumber
指定的行
5 StartLine, +N
從startline開始,向後的N行;
Command:
d:刪除匹配到的行 sad '1,2d' 刪除1到2行;
p:顯示符合條件的行;
a \string : 在指定的行後面追加新行,內容為string
\n : 可以用於換行
i \string : 在指定的行前面追加新行,內容為string
r File: 將指定的文件內容,添加至符合條件的行數
sed '2r /文件路徑' /文件路徑
w File : 將地址指定範圍內的行另存至指定文件中
s /pattern/string/修飾符 : 查找並替換,預設只替換每行中第一次被模式匹配到的字元串
pattern(模式) 可以使用正則表達式
加修飾符
g;全局替換
i: 忽略字元大小寫
s///=s###=s@@@(替換符號的分隔符可以用其他字元,只要是三個一樣的就可以)
&引用模式匹配到的所有字元串