您的位置:首页 > 运维架构 > Linux

LINUX 之 sed用法

2017-12-26 09:22 225 查看
Linux sed命令是利用script来处理文本文件
sed可依照script的指令,来处理、编辑文本文件
sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等

语法
sed [-hnV][-e<script>][-f<script文件>][文本文件]

参数说明:
-e<script>或--expression=<script>以选项中指定的script来处理输入的文本文件。

-f<script文件>或--file=<script文件>以选项中指定的script文件来处理输入的文本文件。

-h或--help显示帮助。

-n或--quiet或--silent仅显示script处理后的结果。

-V或--version显示版本信息。

动作说明:
a:新增, a的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)
c:取代, c的后面可以接字串,这些字串可以取代n1,n2之间的行
d:删除,因为是删除啊,所以d后面通常不接任何东西
i:插入,i的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
p:列印,亦即将某个选择的数据印出,通常p会与参数sed -n 一起运行
s:取代,可以直接进行取代的工作,通常这个s的动作可以搭配正规表示法

地址定界:

1)不给地址:对全文进行处理
2)单地址:
#:指定的行,$:最后一行

/pattern/:被此处模式所能够匹配到的每一行
3)地址范围:
#,#

#,+#
/pat1/,/pat2/
#,/pat1/
4)~:步进
1~2奇数行
2~2偶数行

sed示例:

sed -n '2,/root/p' /etc/passwd 从2行开始
sed -n '/^$/=' file 显示空行行号
sed '/root/a\superman' /etc/passwd 行后
sed '/root/i\superman' /etc/passwd 行前
sed '/root/c\superman' /etc/passwd 代替行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sed 用法