我如何让标准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}'
- 使用
vi myfile.csv
打开文件 - 按Escape
- 键入
:%s/replaceme/withthis/
- 键入
:wq
并按Enter键
现在你将在你的文件中有新的模式。