sed [options] 'AddressCommand' file ... 一、options -n 安静模式,在一般sed用法中,所有来自STDIN的数据都会打印,加上-n后则只有经过sed指定打印的才会列出。 -e 直接在命令行模式上进行sed的多个动作。(类似于grep的-e) -f 直接将sed动作写在一个文件内, -f filename 则可执行filename内的sed动作 -r sed的动作支持的是扩展型正则表达式的语法(默认是基础正则表达式语法) -i 直接修改读取的文件内容,而不是由屏幕输出。 二、Address: 1.Address可以省略,也可以指定。 2.StartLine,EndLine ,比如1,100指定第1至100行。$代表最后一行。 3、LineNumber 指定的行 4、StartLine, +N 从startLine开始,向后的N行; 5./RegExp/ 比如: /^root/ 6、/pattern1/,/pattern2/ 第一次被pattern1匹配到的行开始,至第一次被pattern2匹配到的行结束,这中间的所有行 三、Command a \string: 在指定的行后面追加新行,内容为string i \string: 在指定的行前面添加新行,内容为string c \string: 替换Adrress指定的所有行(整行替换) d: 删除符合条件的行,不接任何参数 p: 显示符合条件的行;常与-n参数一起使用 s/pattern/string/修饰符: 查找并替换,默认只替换每行中第一次被模式匹配到的字符串 修饰符: g: 全局替换 i: 忽略字符大小写 s///: s###, s@@@ \(\), \1, \2 &: 引用模式匹配整个串 例子: 将 regular_express.txt 内每一行结尾若为 . 则换成 ! sed -i 's/\.$/\!/g' regular_express.txt 注意上面!后面不能加$,否则会替换打印出"!$"有任何疑问请点击留言: 留言板