sed,流编辑器,来自贝尔实验室。每个人都熟悉这个实验室。百度称,自1925年以来,贝尔实验室已获得超过25000项专利。现在,平均Workday获得了三项多项专利!sed主要用于在线文件编辑、替换统计等功能。本文案例在mac下使用gsed学习(个别命令可能不同)1.安装1)Linux/Unix默认安装,sed在mac下可能有很多不同的命令格式,可以brewinstallgsed2)查看sed命令,sed-h||mansed,当然是mac下的mangsed。二、sed输出文件行号1)sed输出指定行号#输出第一行内容gsed-n'1p'line.txt#输出最后一行内容gsed-n'$p'line.txt#从第一行开始输出内容行到第五行gsed-n'1,5p'line.txt(1)-n是option参数输出结果的意思,还有很多-e命令,--expression=命令允许多个编辑。-h,--help打印帮助并显示错误列表的地址。-n,--quiet,--silent抑制默认输出。-f,--filer=script-filebootstrapsed脚本文件名。-V,--version打印版本和版权信息。(2)p是命令参数打印的意思,常见的有很多,比如d删除从patternblock(Patternspace)位置开始的行s替换从patternblock位置开始的行(patternspace)toeditfromthepositionofthepatternblock(Patternspace)(noChangetheoriginalcontent)a从模板块(Patternspace)的位置添加i从模板块(Patternspace)的位置插入(changetheoriginalcontent)g将临时缓冲区中的内容复制到模式空间,覆盖原来的内容w将选中的行写入文件1)sed输出多行#输出第一行和第二行内容gsed-n'1,2p'line.txt3.sed删除文件中的行数1)sed删除指定行数#deleteLine10gsed-i'10d'line.txt#删除最后一行gsed-i'$d'line.txt4.sed替换文件1)字符串替换#ReplaceLinewithagsed-i's/Line/a/g'line.txt5.补充说明学习sed真是让人不耐烦。感觉命令比较复杂不清楚,也可以换成其他命令。如果你有兴趣或者想了解更多,可以去官方手册:https://www.gnu.org/software/sed/manual/sed.html
