sed

sed :stream editor for filtering and transforming text  文本编辑器,逐行处理文本(vi  全屏编辑器)

模式空间(内存空间):符合模式条件的做处理,然后输出到屏幕

默认不编辑源文件,仅对模式空间中的数据做处理

sed 'AddressCommand' file 

-n:静默模式,不再默认显示模式空间中的内容

-i:修改源文件

-e Script -e Script :可以同时执行多个脚本

-f /path/to/sed_script 把script执行到文件

-r  使用扩展正则表达式

Address:

1. StartLine,EndLine

$表示最后一行  ,$-1  倒数第二行

2. /regexp/

3.  /pattern1/ , /pattern2/ 第一次被pattern1匹配到的行开始至 第一次被pattern2匹配到的行结束,中间的所有行

4. Line numbe 指定的行

5.Startline,+n 从指定的行开始,向后n行

Command:

d:删除符合条件的行

  p:显示符合条件的行

a string:在指定的行后面追加新行,内容为string  用于换行

i  string 在指定行的前面添加新行

r  FILE  :将指定文件的内容添加至符合条件的行处

w  FILE:将地址指定范围内的内容另存至指定的文件中

s /pattern/string/修饰符:查找并替换,默认只替换每一行中第一次被模式匹配到的字符串

加修饰符

g:全局替换

i:查找时,忽略字符大小写

s///  s###

后向引用:

(、啊啊啊)   1

&

实例:把当前目录下所有文件中的出现LOAD DATA 的行,下面添加 CHARACTERSET AL32UTF8

表示换行

sed -i  "s/LOAD DATA/LOAD DATA
CHARACTERSET AL32UTF8/g" `ls`

     

  

原文地址:https://www.cnblogs.com/jycjy/p/6877564.html