源码

首页 » 归档 » 源码 » linux – 为什么我不需要在sed中转义字符类…

linux – 为什么我不需要在sed中转义字符类…


我和sed很困惑.
我有一个包含以下内容的文件:

[ 2014/02/10 14:45:15 | INFO   ] Saving data for customer: 273667  
[ 2014/02/10 14:45:15 | INFO   ] Saving data for customer: 273687  
[ 2014/02/10 14:45:15 | INFO   ] Saving data for customer: 272667  
[ 2014/02/10 14:45:15 | INFO   ] Saving data for customer: 373667  
[ 2014/02/10 14:45:15 | INFO   ] Saving data for customer: 573667  
[ 2014/02/10 14:45:15 | INFO   ] Saving data for customer: 263667  

我想删除除客户ID之外的所有内容.所以我运行以下内容:

$sed 's/^.*:/s/(/[0-9/]/{6/}/)//1/g' customers.txt > customers2.txt  

这并没有做任何事情.
在考虑之后(以及很多挫折)我试图从[]中删除逃脱.所以我运行以下内容:

$sed 's/^.*:/s/([0-9]/{6/}/)//1/g' customers.txt > customers2.txt    

这很有效.
但现在我无法理解sed是如何工作的.为什么我需要逃避(对于分组和{范围而不是[对于角色类?

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/linux-weishenmewobuxuyaozaisedzhongzhuanyizifulei.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:9月 16, 2019 at 09:31 下午

热评文章