一、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 <a>'s@\@H\1@g'</a> -e <a>'s@\(l..e\)\.@\1r.@g'</a> test
He love His lover.
She like Her liker.
Dove love Her liker.
也可以这样用,中间用分号隔开:

复制代码代码如下: [root@localhost ~]# sed <a>'s@\@H\1@g;s@\(l..e\)\.@\1r.@g'</a> 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

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“Linux下sed命令使用全解析”
暂无“Linux下sed命令使用全解析”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。