sed -i以及“ “ 的$匹配不到最后一行的问题

        sed 的-i选项是就地修改的功能,它会将模式空间的内容直接写入磁盘文件,原始的文件就会覆盖,其实-i 选项是支持备份的功能,同时会取消模式空间的输出,使用命令如下。

sed -isuffix  "command" file  #suffix是给备份文件设定的后缀。

使用实例:在对a.txt文件就地修改之后,出现了a.txt_bak 文件,它是执行sed操作之间的a.txt中的文件。

sed操作支持对文件行的定地修改,遇到了如下问题: sed -n "$s/hello/nihao",却无法匹配到最后一行,$明明是普通正则元字符呀。后来才发现我是用的" " 双引号,日了狗了,这时候直接对$转义即可,后者将" "换成 ' '也可以达到同要的效果

sed -n "\$s/hello/nihao/g"         #\转义字符
sed -n '$s/hello/nihao/g'        #

awk和sed命令默认的操作部分,都是用 '  '单引号引起来,就是防止shell对其中内容进行解释,因为这两个命令都是要运行在shell环境中,所以写在awk sed中的命令,要先经过shell解析,在交由相应的的命令程序执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值