介绍
小编给大家分享一下壳文本中如何使用sed,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
sed是流编辑器的缩写,流编辑器,主要用于对标准输出或文件进行处理。
语法:
stdout |, sed [选项],“pattern command" sed [选项],“pattern command", file1
<强>常用选项(选项)强>
#, -n 只打印静默模式匹配行,而不输出原行 #,p 是打印命令 ?,sed & # 39;/hello/p # 39; helloWorld.sh # !/bin/bash bash HELLO echo “hello world" echo “hello world" ?,sed -n & # 39;/hello/p # 39; helloWorld.sh echo “hello world" #,-e 追加一组编辑命令 ?,sed -n  -e & # 39;/hello/p # 39;, -e & # 39;/hello/p # 39; helloWorld.sh bash HELLO echo “hello world" #,-f 把所有编辑命令保存在文件中,适用于复杂编辑操作 ? cat edit.sed/hello/p ?,sed -n -f  edit.sed hello.md #,-E (或,- r)支持扩展正则表达式 ?,sed -n  -E & # 39;/你好|你好/p # 39; helloWorld.sh bash HELLO echo “hello world" #,小姐;直接修改源文件内容 #,s 是替换命令 #,这里是吧,helloWorld.sh 文件中所有的,hello 改为,hello123 sed -n 小姐;& # 39;s/hello/hello123/舌鳎# 39;helloWorld。sh
<>强匹配模式(模式)强>
<强>常用编辑命令(命令)强>
查询
- <李>
p打印匹配的内容
李>增加
- <李>
一个字符串行后追加
李> <李>我字符串行前追加
李> <李>r文件从外部文件读入,在匹配的行后追加
李> <李>w newfile中将匹配的行写入外部文件
李>删除
- <李>
d删除
李>修改
- <李>
s/老/新替换行内第一个旧为新
李> <李>s/老/新/g行内所有老替换为新
李> <李>s/老/新/2 g从第2行开始到文件末尾的所有老替换为新
李> <李>s/老/新/ig行内所有老替换为新的,忽略大小写
李>示例:
#,删除以,sys 开的头,并且以/sbin/nologin 结尾的行 ?,sed 小姐;& # 39;/^ sys . * \/sbin \/nologin美元/d # 39; passwd_bak #,删除注释行,空行 sed 小姐;& # 39;/[空白:]* #/d;/^ $/d # 39; passwd_bak #,查找在以,vagrant 开头的行,下一行追加内容 ?,sed 小姐;& # 39;/^的流浪汉/a 这是追加的一行内容& # 39;passwd_bak #,把所有的,root 替换为,root123 ?,sed 小姐;& # 39;s/根/root123/搞笑# 39;passwd_bak #,在所有以,sys 开的头,以,nologin 结尾的行,尾部追加,_666 #,其中,,,表示前面正则匹配到的内容 ?,sed 小姐;& # 39;s/^ sys . * nologin/美元,_666/舌鳎# 39;passwd_bak #,把所有以,sys 开的头,以,nologin_666 结尾的行,改为 #,以,SYS_ 开的头,以,_777 结尾,其中,\ 1,表示前面括号中匹配的中间部分内容 ?,sed 小姐;& # 39;s/^ sys \ (. * \) nologin_666美元/SYS_ \ 1 _777/舌鳎# 39;passwd_bak 1 #,把,,~,10,行所有的,sys 改为,系统 ?,sed 小姐;& # 39;1,10 s/sys/sys/搞笑# 39;passwd_bak #,统计,my.cnf 文件中,mysqld 的子配置项数量 #,sed 查找从,(mysqld),到,下一个。[*],之间的行 #,grep -v 过滤注释,空行和,[*]。行 #,wc -l 统计最后的行数 sed -n “/^ \ [mysqld \] $//^ \[* \]。美元/p",/etc/my.cnf |, grep -Ev & # 39; ^ $ | [#;] | ^ \ [。* & # 39;, |, wc - l
注意:如果匹配模式中存在变量,则建议使用双引号,如sed -“s/OLD_STR/NEW_STR美元/g"passwd_bak
以上是“壳牌文本中如何使用sed”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!