sed使用方式
$sed -f myscript.sed input_file
$sed 'some-sed-commands' input-file > myoutfile
基本sed编辑命令
p 打印匹配行
= 显示文件行号
a/ 在定位行号后附加新文本信息
i/ 在定位行号前插入新文本信息
d 删除定位行
c/ 用新文本替换定位文本行
s 使用替换模式替换相应模式
r 从另一个文件中读文本
w 写文本到一个文件
q 第一个模式匹配完成后推出或立即推出
l 显示与八进制ASCII代码等价的控制字符
{ } 在定位行执行的命令组
n 从另一个文件中读文本下一行,并附加在下一行
g 将模式2粘贴到/pattern n/
y 传送字符
n 延续到下一输入行;允许跨行的模式匹配语句
基本sed编程举例
$sed -n '2p' example.txt 打印文件的第二行
$sed -n '1,3p' example.txt 打印第一到第三行
$sed -n '/exam/'p example.txt 打印匹配exam的行
$sed -n '4,/the/'p example.txt 只在第四行查询模式the
$sed -n '//$/'p example.txt 打印有$的行
$sed -n '1,$'p example.txt 打印全部
$sed -n -e /pattern/p -e /pattern/= 打印行号及匹配行
$sed '$d' example.txt 删除最后一行
$sed '/eaxm/d' example.txt 删除有eaxm的行
$sed 's/he/HE/' example.txt 替换he为HE
$sed 's/the/Wow!/g' example.txt 替换全文中的the为Wow!
$sed 's/he/ & pass/g' example.txt 在he后增加pass
快速一行命令
's//.$//g' 删除结尾行的句点
'-e /abcd/d' 删除包含abcd的行
's/^[ ][ ]*//g' 删除行首空格
'/^$/ d' 删除空行
's/^////g' 从路径中删除第一个/
$sed -f myscript.sed input_file
$sed 'some-sed-commands' input-file > myoutfile
基本sed编辑命令
p 打印匹配行
= 显示文件行号
a/ 在定位行号后附加新文本信息
i/ 在定位行号前插入新文本信息
d 删除定位行
c/ 用新文本替换定位文本行
s 使用替换模式替换相应模式
r 从另一个文件中读文本
w 写文本到一个文件
q 第一个模式匹配完成后推出或立即推出
l 显示与八进制ASCII代码等价的控制字符
{ } 在定位行执行的命令组
n 从另一个文件中读文本下一行,并附加在下一行
g 将模式2粘贴到/pattern n/
y 传送字符
n 延续到下一输入行;允许跨行的模式匹配语句
基本sed编程举例
$sed -n '2p' example.txt 打印文件的第二行
$sed -n '1,3p' example.txt 打印第一到第三行
$sed -n '/exam/'p example.txt 打印匹配exam的行
$sed -n '4,/the/'p example.txt 只在第四行查询模式the
$sed -n '//$/'p example.txt 打印有$的行
$sed -n '1,$'p example.txt 打印全部
$sed -n -e /pattern/p -e /pattern/= 打印行号及匹配行
$sed '$d' example.txt 删除最后一行
$sed '/eaxm/d' example.txt 删除有eaxm的行
$sed 's/he/HE/' example.txt 替换he为HE
$sed 's/the/Wow!/g' example.txt 替换全文中的the为Wow!
$sed 's/he/ & pass/g' example.txt 在he后增加pass
快速一行命令
's//.$//g' 删除结尾行的句点
'-e /abcd/d' 删除包含abcd的行
's/^[ ][ ]*//g' 删除行首空格
'/^$/ d' 删除空行
's/^////g' 从路径中删除第一个/