如何grep,然后搜索和替换输出?

Mic*_*ant 8 grep replace output

我有一些来自 iconv 的输出,例如

$ iconv -l | grep ISO | head -5
CSISO4UNITEDKINGDOM//
CSISO10SWEDISH//
CSISO11SWEDISHFORNAMES//
CSISO14JISC6220RO//
CSISO15ITALIAN//
durrantm:~
Run Code Online (Sandbox Code Playgroud)

我怎样才能将//'s更改为,例如--'s ?

我试过了,$ (iconv -l | grep ISO).gsub('\/\/','--')但没有运气。

Val*_*ami 11

有几种方法使用tr,awksed

TR:

 iconv -l | grep ISO |head -5 |tr '/' '-'
Run Code Online (Sandbox Code Playgroud)

AWK:

iconv -l | awk '/ISO/{gsub("//","--"); print $0}' |head -5
Run Code Online (Sandbox Code Playgroud)

SED:

iconv -l | grep ISO |head -5 | sed 's/\//-/g'
# or, to avoid needing to escape the backslashes:
iconv -l | grep ISO |head -5 | sed 's#/#-#g'
Run Code Online (Sandbox Code Playgroud)

  • 对于`tr`,你可以说`tr '/' '-'`。全局替换是隐含的。 (4认同)