【shell】8 [进阶1] 对文件的操作sed

在linux终端中一般都是使用vim对文档进行编辑,这种编辑是交互式的

而linux提供了perl和sed两种命令行编辑方式

sed [options] ‘{command}[flags]’ [filename]

#option(可选参数)
-e script 将脚本中指定的命令添加到处理输入时执行的命令中  多条件,一行中要有多个操作
-f script 将文件中指定的命令添加到处理输入时执行的命令中
-n        抑制自动输出
-i        编辑文件内容
-i.bak    修改时同时创建.bak备份文件。
-r        使用扩展的正则表达式
!         取反 (跟在模式条件后与shell有所区别)

#command   对文件干什么
sed常用内部命令
a   在匹配后面添加 (默认为所有行 2从第二行开始 2,4 2-4行)
i   在匹配前面添加
d   删除
s   查找替换  字符串
c   更改
y   转换   N D P 
p   打印

#flags
数字             表示新文本替换的模式
g:             表示用新文本替换现有文本的全部实例
p:             表示打印原始的内容

w filename:     将替换的结果写入文件

测试

前增/后增:a/i

一般形式

规定行开始以及行范围

匹配插入

以下找到包含9的行后插入jiu

字符串改 's/old/new/'

一般形式

匹配形式(注意77前面有\)

行改 c\new

一般形式

后面是将所有一并改变 而非每一行改变

匹配(每一行改变)

对应修改 y/abc/ABC

删 d/

option

-e 一次性执行多个命令

-f 将命令写入文件中再执行

f.txt

标志

/g

全部

/2

第2处 如替换目标有多个,仅替换所选择行的第二个(默认第一个)

/p

打印

/w

保存

 

 

参考

https://www.zutuanxue.com/home/4/6_97

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值