Linux下sed命令的用法

本篇内容介绍了“Linux下sed命令的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联建站服务项目包括桐庐网站建设、桐庐网站制作、桐庐网页制作以及桐庐网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,桐庐网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到桐庐省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

一、Sed简介
Sed:Stream Editor  流式编辑器 又称行编辑器,每次只编辑一行。Sed工作是在“模式空间”中进行的,并不操作源文件。对源文件无危害。


二、Sed使用格式
    Sed命令的常用格式如下:
(1)Sed [options] ‘script’ input_file…
(2)Sed [options] –f script_file input_file…
(3)Sed [options] ‘ADDR1,ADDR2command’ input_file…
例如:#sed ’1,2d’ fstab 就可以将fstab的前两行删除并显示出来,但是它不会改变源文件。
#Sed ‘1,2!d’ fstab 表示删除除第一行和第二行之外的所有行。
(4)Sed [options] ‘/PATTERN/command’ input_file……
&:s/l..e/&er/:表示引用前面匹配到的所有字符。
例如:sed ‘/[[:upper:]]/d’ binary.sh 表示删除所有的大写字母的行。
(5)Sed ‘/PATTERN1/,/PATTERN2/command’ input_file……
说明:这表示从第一次被PATTERN1匹配到的行到第一次被PATTERN2匹配到的中间的所有行执行command命令。


三、Sed的常用选项:
 -n:只显示sed匹配到的行。其余行不显示。下文有范例。
-i :可以直接操作原文件。默认情况下sed不会改变原文件,但是-i选项可以修改原文件,此选项应慎用。
-r:可以使用标准正则表达式。默认情况下sed只支持基本正则表达式,但是加上-r选项后则支持扩展正则表达式
-e:多脚本共用。可以同时执行多个命令。例如:

代码如下:

[root@localhost ~]# sed -e 's@\@H\1@g' -e 's@\(l..e\)\.@\1r.@g' test


He love His lover.
She like Her liker.
Dove love Her liker.
也可以这样用,中间用分号隔开:

代码如下:

[root@localhost ~]# sed 's@\@H\1@g;s@\(l..e\)\.@\1r.@g' test

四、使用示例

代码如下:


#sed -e 命令行处理 -a 新增
> sed -e '$ a widuu' test.txt  #在test.txt的结尾处添加widuu


Linux下sed命令的用法

代码如下:


# 把-e换成-n
> sed -n '$ a widuu' test.txt  # 只显示被处理的一行


Linux下sed命令的用法

代码如下:


# -c 替换多少行 为你制定的字符串,这里我的test.txt内容如图
>  sed -e '2,5c xiaowei' test.txt #把2-5行替换成字符串xiaowei


Linux下sed命令的用法

代码如下:


# 多命令执行 -e
> sed -e '2,5c xiaowei' -e 's/cccc/widuu/' test.txt


Linux下sed命令的用法

代码如下:


# -i 不输出 -s 替换
>sed -i 's/111111/widuu/g' test.txt


Linux下sed命令的用法

代码如下:


# i 插入 自定义的字符串 在test.txt的第二行插入xiaowei
> sed -e '2i xiaowei' test.txt


Linux下sed命令的用法

代码如下:


# d 删除输入任何字符串
>  sed -e '2d' test.txt #删除第二行

 
Linux下sed命令的用法 

“Linux下sed命令的用法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


分享名称:Linux下sed命令的用法
浏览地址:http://ybzwz.com/article/gshcsc.html