使用sed删除文本文件中的所有前导/后续空格

use*_*960 10 unix linux text sed

文件1:

  hello  
  world  
Run Code Online (Sandbox Code Playgroud)

如何使用sed删除此文件中的前导/尾随空格 - 使用一个命令(没有中间文件)

我现在有:

sed -e 's/^[ \t]*//' a > b
Run Code Online (Sandbox Code Playgroud)

对于领先的空间.

sed 's/ *$//' b > c
Run Code Online (Sandbox Code Playgroud)

这用于尾随空格.

mou*_*iel 14

你几乎得到了它:

sed -e 's/^[ \t]*//;s/[ \t]*$//' a > c
Run Code Online (Sandbox Code Playgroud)

此外,在某些方面sed,还有一个内联编辑选项:

sed -i -e 's/^[ \t]*//;s/[ \t]*$//' a
Run Code Online (Sandbox Code Playgroud)

  • 我也考虑匹配`\ s`这是通用的'所有空白字符'. (3认同)

gho*_*g74 7

更简单的方法,使用awk

awk '{$1=$1}1' file
Run Code Online (Sandbox Code Playgroud)

要么

awk '{gsub(/^ +|  +$/,"")}1' file
Run Code Online (Sandbox Code Playgroud)