sed 命令使用笔记

好久没有用过sed命令了,网上有很多实例,但是想用熟练也没那么容易,这不今天有一个小小的需求想把sed拿出来用用,就遇到了麻烦:

问题:替换掉行首的一个单词,即该单词挨着的一个tab字符

解决方法:

1. 用awk来完成的:

命令:awk -F"\t" ‘{sub($1"\t",""); print $0}’ src.txt

心得:我开始以为$1和"\t" 中间需要加号连接的,所以就没有达到目的,改用了sed

2. 用sed来完成:

命令: sed s’/^\S\{1,\}\t//’ src.txt

心得: 其中的\{1,\}如果用+表示,也需要斜线转义,但是我没有转义,所以试了n遍都是错的,即可以这样:

命令: sed s’/^\S\+\t//’ src.txt

心得: 这里主要注意一个转义的问题

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据