引言
作为文本处理的三剑客之一,sed的使用也是非常频繁的,通常适用于对文本中匹配的行或字符串进行替换、删除、添加等处理。
常见用法
1. 替换目标串
sed -i 's/str1/str2/g' [filename]
-
i:可选参数,表示对文本直接操作,会修改文本内容,不加该参数则不修改
-
str1:表示要替换的目标串
-
str2:表示替换后的新串
-
s:表示替换语义
-
g:表示替换所有匹配的串,不加则只替换一次
-
filename:要操作的文件名
2. 删除目标串所在行
sed -i '/str/d' [filename]
- d:表示删除,删除文件中所有匹配目标串的行
3. 删除指定行
sed -i 'Nd' [filename] # 删除第N行
sed -i 'N,Md' [filename] # 删除第N到M行
sed -i '$d' [filename] # 删除最后一行
4. 匹配行之前或之后添加内容
sed -i '/str1/i\str2' [filename] # 在匹配行之前添加新的内容str2
sed -i '/str1/a\str2' [filename] # 在匹配行之后添加新的内容str2
5. 指定行之前或之后添加内容
sed -i 'Ni\str' [filename] # 第N行之前添加内容
sed -i 'Na\str' [filename] # 第N行之后添加内容
sed -i '$i\str' [filename] # 最后一行之前添加
sed -i '$a\str' [filename] # 最后一行之后添加