sed #流编辑器,一次处理一行的内容 -n #使用安静(silent)模式,在一般sed的用法中,所有来自STDIN的数据一般都会被列出到终端上,但 如果加上-n参数后,则只有经过sed特殊处理的那一行(或者动作)才会被列出来 -e #直接在命令列模式上进行sed的动作编辑 -f #直接将sed动作写在一个文件内,-f filename则可以运行内的sed动作 -r #sed的动作支持的是延伸型正规表示法的语法.默认是基础正规表示法语法 -i #直接修改读取的文件内容,而不是输出到终端 动作 a#新增,a的后面可以接字串,而这些字串会在新的一行出现(目前的下一行) c#取代,c的后面可以接字串,这些字串可以取代n1,n2之间的行 d#删除 ,因为是删除 ,所有d后面通常不接任何东西 如: sed "3d" file#删除第三行 sed "1,3d" file #删除1到3行 sed "1d;3d;5d" #删除1.3.5行 sed "/^$/d" #删除空行 sed "/abc/d" #删除所有含有abc的行 sed "1, /def/d"#删除第一行到def之间的行,包括其自身 sed "/abc/, +3d"#删除含有abc的行之后,再删除3行 sed "/abc/, ~3d"#删除含有abc的行开始,共删除3行 sed "1-2d"#从第1行开始,每2行删除一行,删除奇数行 sed "2-2d"#从第2行开始,每2行删除一行,删除偶数行 sed "$d"#删除最后一行不能加-n sed "/dd\|cc/d"删除有dd或者cc的行 i#插入,i的后面可以接字符串,面这些字串会在新的一行出现(目前的上一行) * p#列印,亦即将某个选择的数据印出,通常P会与参数sed -n 一起运行 如: sed -n "3p"file #显示三行 sed -n "1,3p"#显示第三行 sed -n "2,+3p"#显示第二行,及后面的三行 sed -n "\$p"#显示最后一行 sed -n "1p;3p;5p;"#只显示文件1,2,5行 sed -n "$="#显示文件行数 * s#替换,可以直接进行取代的工作,也可以在指定位置追加字符,通常这个s的动作可以搭配正规表示法,如:1,20s/old/new/g 如: sed "s/\(all\)/bb/g"/g #是对文本里所有的指定的字符进行替换 sed -r "s/(all)/bb/" \1 \2 对原文件进行分组 sed -r "s/(查)(找)/\1qq\2/"#在"查"和"找"之间加入"qq"
sed #流编辑器
最新推荐文章于 2024-06-02 12:23:04 发布