AWK/SED.如何删除简单文本文件中的括号

use*_*777 13 awk sed

我有一个看起来像这样的文本文件:

(-9.1744438E-02,7.6282293E-02) (-9.1744438E-02,7.6282293E-02)  ... and so on.
Run Code Online (Sandbox Code Playgroud)

我想通过删除所有括号和每对新行的新行来修改该文件,使其看起来像这样:

-9.1744438E-02,7.6282293E-02
-9.1744438E-02,7.6282293E-02
...
Run Code Online (Sandbox Code Playgroud)

一个简单的方法吗?

任何帮助表示赞赏,

弗雷德

Lee*_*ton 31

我会用tr这个工作:

cat in_file | tr -d '()' > out_file
Run Code Online (Sandbox Code Playgroud)

使用-d开关,它只删除给定集中的任何字符.

要添加新行,您可以通过两个trs 来管道:

cat in_file | tr -d '(' | tr ')' '\n' > out_file
Run Code Online (Sandbox Code Playgroud)

  • @glenn这仍然是UUOC.tr -d'()'<in_file (3认同)
  • 真的。在这三个工具中,tr 似乎具有最小的二进制文件,并且可能会产生最好的性能。+1。 (2认同)

gho*_*oti 5

As was said, almost:

sed 's/[()]//g' inputfile > outputfile
Run Code Online (Sandbox Code Playgroud)

or in awk:

awk '{gsub(/[()]/,""); print;}' inputfile > outputfile
Run Code Online (Sandbox Code Playgroud)