shell sed 的一些用法

前端之家收集整理的这篇文章主要介绍了shell sed 的一些用法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

#1、替换

#将1.txt文件中的2017替换成2016显示在屏幕上

sed"s/2017/2016/g"1.txt

#将1.txt文件中的2017替换成2016显示在屏幕上对文件彻底修改,加 i 修改文件

sed-i"s/2017/2016/g"1.txt

#Sed读取系统变量,变量替换

DATE="2016"
sed"s/2017/$DATE/g"1.txt

#关闭SELinux,修改SELinux策略enforcing为disabled,查找SELINUX行,然后将其行enforcing值改成disabled、!s表示不包括SELINUX行:

sed-i"/SELINUX/s/enforcing/disabled/g"/etc/selinux/config
sed-i"/SELINUX/!s/enforcing/disabled/g"/etc/selinux/config


#2、打印

#打印1.txt文本第一行至第三行

sed-n"1,3p"1.txt

#3打印1.txt文本中第一行与最后一行

sed-n"1p,$p"1.txt


#3、删除

#删除第一行至第三行

sed'1,3d'1.txt

#删除匹配行至最后一行

sed'/2017/,$d'1.txt

#删除最后一行

sed'$d'1.txt

#删除最后6行(做6次删除最后一行)

foriin{1..6};dosed-i'$d'1.txt;done

#删除1.txt行前和行尾的任意空格:

sed's/^[\t]*//;s/[\t]*$//'1.txt

#删除所有空格

sed's/[\t]//g'1.txt


#4、添加字符

#在1.txt查找you所在行,并在其下一行添加me字符,a表示在其下一行添加字符串:

sed'/you/ame'1.txt

#在1.txt查找you所在行,并在其上一行添加me字符,i表示在其上一行添加字符串:

sed'/you/ime'1.txt

#在1.txt查找以you结尾的行尾添加字符串me,$表示结尾标识,&在Sed中表示添加

sed's/you$/&me/g'1.txt

#在1.txt查找you的行,在其行首添加字符串me,^表示起始标识,&在Sed中表示添加

sed'/you/s/^/&me/'1.txt


#5、多个sed命令组合

#使用-e参数

sed-e'/www.jd.com/s/^/&1./'-e's/www.jd.com$/&./g'1.txt

#使用分号";"分割

sed-e'/www.jd.com/s/^/&1./;s/www.jd.com$/&./g'1.txt


#6、插入空行

#每一行后边插入一行空行

sed'/^$/d;G'1.txt
sed'G'1.txt

#每一行后边插入两行空行

sed'/^$/d;G;G'1.txt
sed'G;G'1.txt

#前三行每行后插入空行

sed'/^$/d;1,3G;'1.txt

#第三行后插入空行

sed'/^$/d;3G;'1.txt

#第三行后插入3行空行

sed'/^$/d;3{G;G;G}'1.txt

#匹配行后插入空行

sed'/2017/G'1.txt

#在匹配行前一行插入空行

sed'/2017/{x;p;x;}'1.txt

#同时在匹配前后插入空行

sed'/2017/{x;p;x;G;}'1.txt


#7、在1.txt每行前加入顺序数字序号、加上制表符\t及.符号:

sed=1.txt|sed'N;s/\n//'
sed=1.txt|sed'N;s/\n/\t/'
sed=1.txt|sed'N;s/\n/\./'


#8、打印及删除1.txt最后两行:

sed'$!N;$!D'1.txt
sed'N;$!P;$!D;$d'1.txt


#9、合并上下两行,也即两行合并:

sed'$!N;s/\n//'1.txt
sed'N;s/\n//'1.txt

猜你在找的Bash相关文章