好久没有用过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
心得: 这里主要注意一个转义的问题