删除行首的所有空格

pax*_*xie 2 unix bash shell awk

      1 147.31.124.135
      1 147.31.9.135
      1 147.32.123.135
      1 147.32.123.136
      1 147.32.124.135
      1 77.236.192.69
      1 86.49.86.108
      1 86.49.86.109
Run Code Online (Sandbox Code Playgroud)

你好。我有这种格式的文件,每行开头都有很多空格,我想从开头删除这些空格并使用 awk 或 sed 打印所有字段。

结果:

1 147.31.124.135
1 147.32.123.135
1 147.32.123.136
1 147.32.124.135
1 77.236.192.69
1 86.49.86.108
1 86.49.86.109
Run Code Online (Sandbox Code Playgroud)

Eug*_*ash 10

您可以使用此sed命令删除前导空格(空格或制表符)

sed 's/^[ \t]*//' file 
Run Code Online (Sandbox Code Playgroud)

用于sed -i就地修改文件。


P.P*_*.P. 9

您甚至可以使用 POSIX 字符类[:space:]来处理所有空格(\t\r\n\v):

sed 's/^[[:space:]]*//g' file
Run Code Online (Sandbox Code Playgroud)

  • 不,“什么都没有”的替代品会解决这个问题。仅删除空行: `sed '/^$/d' file` (2认同)

Jos*_*sey 5

sed 命令

   sed 's/^ *//'
Run Code Online (Sandbox Code Playgroud)

应该管用。

说明:^表示行首,*表示零个或多个空格。这些都被什么都取代了。