如何仅删除文件的所有行中的前两个前导空格

时间:2014-03-27 10:50:35

标签: linux awk sed space

我的输入文件就像

  *CONTROL_ADAPTIVE
  $  adpfreq    adptol    adpopt    maxlvl    tbirth    tdeath     lcadp    ioflag
        0.10     5.000         2         3       0.0       0.0         0         0

我只想删除所有行中的前2个空格。

我用过

sed "s/^[ \t]*//" -i inputfile.txt

但它删除了所有行中的所有空格..我只想将文件中的完整文本移到左边两个位置。

对此有何解决方案?

1 个答案:

答案 0 :(得分:2)

您可以指定要删除括号中字符集的两个匹配项:

sed -r -i "s/^[ \t]{2}//" inputfile.txt

见输出:

$ sed -r "s/^[ \t]{2}//" file
*CONTROL_ADAPTIVE
$  adpfreq    adptol    adpopt    maxlvl    tbirth    tdeath     lcadp    ioflag
      0.10     5.000         2         3       0.0       0.0         0         0