sed,awk简单使用

sed是一种非交互式的流编辑器,可动态编辑文件。

非交互式是说:sed和传统文本编辑器不同,并非和使用者直接互动,sed处理的对象是文件的数据流(stream流)。

sed的工作模式是对比每一数据行,若如何样式,就执行指定的操作。


语法格式:

sed '样式命令' 文件

如果文件中某一行符合“样式命令”,就执行指定的sed命令,如删除(d)、替换(s)、输出(p).

这里的“样式命令”使用一对//括起来,表示寻找。

例如:

1、/1,6/,表示1到6行

2、/AAA/,/DDD/,表示从含有字符AAA的行到含有字符DDD的行

注意:sed并不会更改文件的内容。sed的工作方式是读取文件内容,经流编辑之后将结果输出到标准输出。因此,如果想要保存sed处理结果,需要自行运用转向处理。


example:

1、删除某一范围的数据行

sed '1,4d' filepath

2、删除含有指定“样式”的行

sed '/styleText/d' filepath

3、删除空白行

sed '/^$/d' filepath

4、删除非指定“样式”的行

sed '/styleText/!d' filepath

5、输出匹配“样式”的行

sed -n '/styleText/p' filepath
指令p会把当前的数据显示出来,但因为sed默认也会显示不符合的数据行,所以需要配合选项"-n".

-n:抑制显示不符合的数据行。

6、删除每一行开头的3个字符

sed 's/^...//' filepath

7、取得符合样式的字符串

sed -n 's/\(styleText\)/\1string/p' filepath

()用来存储匹配的字符

\1取得之前匹配的字符


8、找到匹配的数据行,再进行替换指令

sed -n '/AAA/s/123/456/p' filepath
找到含有AAA的行,替换123为456


9、在指定行进行替换指令

sed -n '2,4s/123/456/p' filepath
在第2到4行,将123替换为456


awk待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值