sed提示:删除所有空白空格

时间:2020-01-09 10:43:36  来源:igfitidea点击:

我有一个文本文件,如下所示:

foo
   bar
  foobar

如何使用sed命令从每一行中删除所有前导和/或者尾随空格,制表符?

您可以使用sed命令删除文本文件中的所有空格。您还可以使用其他文本处理实用程序,例如:

  • Perl。
  • Python。
  • Awk。

Perl的例子

语法为:

perl -lape 's/\s+//sg' input > output

输出示例:

foo
bar
foobar

或者使用-pie语法更新文件:

cat input
perl -lapi -e 's/\s+|^\n//sg'  input
cat input

sed示例

语法为:

sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' input > output

或者使用-i选项一次性更新文件:

sed -i -e 's/^[ \t]*//' -e 's/[ \t]*$//' input

AWK示例

语法是

awk '{=}{ print }' input > output

您也可以使用与正则表达式函数匹配的gsub()子字符串。
有关更多信息,请参见awk手册页。