我设法使用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 )