我如何让标准input读取sed?

我在尝试

grep searchterm myfile.csv | sed 's/replaceme/withthis/g' 

并得到

 unknown option to `s' 

我究竟做错了什么?

编辑:

根据评论,代码实际上是正确的。 我的完整代码类似于以下内容

 grep searchterm myfile.csv | sed 's/replaceme/withthis/g' # my comment 

而且由于某种原因,我的评论似乎被作为sed的input。 很奇怪。

使用–expression选项

 grep searchterm myfile.csv | sed --expression='s/replaceme/withthis/g' 

使用“-e”来指定sed-expression

 cat input.txt | sed -e 's/foo/bar/g' 

为了从标准input中捕获sed ,而不是从一个文件中,你应该使用-e

喜欢这个:

 curl -k -u admin:admin https://$HOSTNAME:9070/api/tm/3.8/status/$HOSTNAME/statistics/traffic_ips/trafc_ip/ | sed -e 's/["{}]//g' |sed -e 's/[]]//g' |sed -e 's/[\[]//g' |awk 'BEGIN{FS=":"} {print $4}' 
  1. 使用vi myfile.csv打开文件
  2. Escape
  3. 键入:%s/replaceme/withthis/
  4. 键入:wq并按Enter键

现在你将在你的文件中有新的模式。