sed 基本使用语法

当我们对文件有编辑的需求时,除了使用编辑器来修改,还可以使用 sed 命令行进行修改。这种方式在 shell 脚本中经常使用

语法

sed script [-Ealn] [-i extension] [file ...]

参数

  • -e 以选项中指定的script来处理输入的文本文件
  • -f 该选项会将其后文件中的脚本命令添加到已有的命令中。
  • -i 输出到原文件(修改原文件的意思)
  • -n 默认情况下,在应用了所有命令之后,每一行输入都将回显到标准输出。-n选项禁止这种行为,仅显示script处理后的结果

动作

a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行。列如:sed -i '1,4c hello world' a.txt(把 1 到 4 行的内容替换为 hello world)
d :删除,因为是删除啊,所以 d 后面通常不接任何东西;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行
s :替换,可以直接进行取代的工作,可以搭配正规表示法。例如 sed -i '1,20s/old/new/g' a.txt(把 1 )

例子

准备一个文件 a.txt

cat a.txt
# 输出
# aaa
# bbb
# ccc
  • 在第一行下插入一条数据
sed 	-i '1a ddd' a.txt
  • 在第一行上插入一条数据
sed 	-i '1i eee' a.txt
  • 把第 1 ~ 2 行数据替换为 hello
sed 	-i '1,2c hello' a.txt
  • 把 bbb 替换为 world
sed 	-i 's/bbb/world/g' a.txt

最后文件内容为:

cat a.txt
# 输出
# hello
# ddd
# world
# ccc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值