如何使用SED命令删除一行中的所有前三个字符以外的所有字符



如何使用sed命令删除行中的所有前三个字符?例如,该行如下:

星期三

应该变成

wed

sed -i -e 's/Ive tried everything, but the right thing//g' $HOME/filename

这将有能力:

sed -re 's/^(...).*$/1/'
  • ^匹配行的开头;
  • (...)匹配三个字符,并将它们放入组#1;
  • .*$匹配所有内容,直到行结束;
  • 1是组#1的内容。

使用组需要-r/--regexp-extended选项。

gnu sed 有一个特殊标志:

sed -e 's/.//4g'

4此处指示sed从模式的第四次出现开始。

最新更新