如何删除GREP搜索结果的空间



我设法使用GNU GREP 2.5.4(OS是Windows 7)

Grep返回的样子:

Word1                         ( 1.22 )
Word2  ( -111.999 )
Word3 ( 123 )

因此,在单词的末端和括号之间"('总是有各种各样的空间。我可以使用GREP消除所有空间或1个空间,但SE结果看起来像:

Word1( 1.22 )
Word2( -111.999 )
Word3( 123 )

或(更好)

Word1 ( 1.22 )
Word2 ( -111.999 )
Word3 ( 123 )

(括号内的空格()可能会删除,也可能不会被删除,此dosn'')我需要其他工具,例如SED或其他工具吗?我正在寻找一个命令行工具,因此没有文本编辑器搜索&替换可以完成这项工作。

感谢您的提示!

您可以将结果使用到sed

some_command | sed 's/[[:blank:]]*(/ (/'
Word1 ( 1.22 )
Word2 ( -111.999 )
Word3 ( 123 )

而不是grep您也可以考虑使用awk

awk '/Word/{sub(/[[:blank:]]*(/, " (")} 1' file

只需将结果输送到tr命令。

your_grep_command | tr -s ' '

tr -s ' ':它将在每行中挤压多个空间。

ex:

$ echo "Word1                         ( 1.22 )" | tr -s ' '
Word1 ( 1.22 )

最新更新