我在尝试
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的输入。很奇怪。
我在尝试
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的输入。很奇怪。
/
inreplaceme
或withthis
。试试:'s#replaceme#withthis#g'
。
Answers:
使用“ -e”指定sed-expression
cat input.txt | sed -e 's/foo/bar/g'
sed
如果没有输入文件,则从stdin读取。
-e
必要吗?它没有工作-e
。我想知道使用的目的是-e
什么?谢谢。
echo foo | sed 's/foo/bar/g'
可以不工作。所以我一定错过了他的问题。-e
bar
-e
是否只有一个脚本语句。如果您有两个,则可以说sed -e '/foo/!d' -e 's//bar/g'
或sed 's/foo!d;s//bar/g'
(或等效地,用换行符代替分号)。
vi myfile.csv
:%s/replaceme/withthis/
:wq
并按Enter现在,您的文件中将具有新模式。