sed 行编辑器
基本用法
sed [option] 'AdressCommand' file ...
option
-n 静默模式,不在默认显示模式空间内的内容
-i 直接修改源文件
-e script -e script :可以同时执行多个脚本
-f script
-r 表示使用扩展正则表达式
Adress
1.startline,endline
1,100
最后一行$
2./RegExp/
/^root/
3./pattern1/,/pattern2/
第一次被模式匹配到的行开始,到第一次被pattern2匹配到的行结束,其中间的所有行
4.linenumber
精确某行
5,startline,+n
从指定行开始 像后的n行
command:
d删除
p显示符合条件的行
a \内容 在制定行后面追加新行,新行内容为\后的内容
i \String 在指定行之前添加新的行,内容为string
r file 将制定的文件内容添加至符合条件的行处
w file 将符合条件的行保存至file文件中
s /pattern/string/查找每一行符合pattern的字符串,然后替换成为string.默认只替换第一次被模式匹配到的字符串
加修饰符
g:全局替换
i:查找时忽略大小写
/斜线可以替换成为其他字符,如#
sed 's/\//#/g' /etc/init.tab
\(\),\1反向引用
& 引用模式匹配到的整个串
1.删除/etc/grub.conf文件中首行的空白字符
sed 's#^[[:blank:]]*##g' /etc/grub.conf
2.替换/etc/inittab文件中的"id:3:initdefault:"一行中的数字为5
sed 's#id:\(.\):initdefault:#id:\1:initdefault:#' /etc/inittab
3.删除/etc/inittab文件中的空白行
sed '/^$/d' /etc/fstab
4.删除/etc/inittab文件中开头的#号
sed '/^#/d' /etc/inittab
5.取出一个文件路径的目录名称
基本用法
sed [option] 'AdressCommand' file ...
option
-n 静默模式,不在默认显示模式空间内的内容
-i 直接修改源文件
-e script -e script :可以同时执行多个脚本
-f script
-r 表示使用扩展正则表达式
Adress
1.startline,endline
1,100
最后一行$
2./RegExp/
/^root/
3./pattern1/,/pattern2/
第一次被模式匹配到的行开始,到第一次被pattern2匹配到的行结束,其中间的所有行
4.linenumber
精确某行
5,startline,+n
从指定行开始 像后的n行
command:
d删除
p显示符合条件的行
a \内容 在制定行后面追加新行,新行内容为\后的内容
i \String 在指定行之前添加新的行,内容为string
r file 将制定的文件内容添加至符合条件的行处
w file 将符合条件的行保存至file文件中
s /pattern/string/查找每一行符合pattern的字符串,然后替换成为string.默认只替换第一次被模式匹配到的字符串
加修饰符
g:全局替换
i:查找时忽略大小写
/斜线可以替换成为其他字符,如#
sed 's/\//#/g' /etc/init.tab
\(\),\1反向引用
& 引用模式匹配到的整个串
1.删除/etc/grub.conf文件中首行的空白字符
sed 's#^[[:blank:]]*##g' /etc/grub.conf
2.替换/etc/inittab文件中的"id:3:initdefault:"一行中的数字为5
sed 's#id:\(.\):initdefault:#id:\1:initdefault:#' /etc/inittab
3.删除/etc/inittab文件中的空白行
sed '/^$/d' /etc/fstab
4.删除/etc/inittab文件中开头的#号
sed '/^#/d' /etc/inittab
5.取出一个文件路径的目录名称