1 sed
sed [option] “AdressCommand” file
option:
-n:静默模式,不显示模式空间中的行
-i:直接修改源文件
-e script -e script:可以同事执行多个脚本
-r:表示使用扩展正则表达式
Adress:
1. StartLine,EndLine,从StartLine开始到EndLine结束
2. /RegExp/,符合正则表达式的行
3. /Pattern/,/Pattern/,第一次被模式1匹配到的行开始,到第一次被模式2匹配到的行结束
4. LineNumber,某一行
5. StartLine,+n,从StartLine开始到后面的第n行
6.
:
最
后
一
行
,
:最后一行,
:最后一行,-1:倒数第二行…
command
d:删除符合条件的行
删除1和2两行
删除/do/匹配的字符串
p:显示符合条件的行
显示匹配到bash的行(显示两次是因为模式空间中有内容,由输出了匹配到的内容)
可以使用静默模式,不显示模式空间的内容
a\string:在指定行的后面追加新行,内容为string
在匹配到bash行的后面,追加一行,内容为xiuxiu
i\string:在制定的行前面追加新行,内容为string
r FILE:将指定的文件内容添加至符合条件的行处
w FILE:将指定方位内的内容另存至指定的文件中
将first.sh中1到3行的内容保存到sed.txt中
s/pattern/string/修饰符:查找并替换(默认只替换每行中第一次被匹配到的字符串)
加修饰符
g:全局替换
i:查找时忽略大小写
分隔符不仅仅限制于/:s###,s@@@等
&:表示引用模式匹配到的字符串
将第一行的#替换为***
sed -e 's/l\(..e\)/L\1/g' test.txt
给定一个路径,得到父路径