我在Mac上使用以下命令:
$find . -name “*.java” -exec sed -i ’s/foo/bar/g’ {} \;
似乎没有效果。
我在目录中有两个以.java结尾的文件,它们都包含foo文本。我想念什么吗?
编辑:从评论请求的结果
[aafghani-03:~/test amirafghani]$ find . -name "*.java" -exec sed -i 's/foo/bar/g' {} \;
sed: 1: "./bar.java": invalid command code .
sed: 1: "./foo.java": invalid command code .
实际上,这至少对我来说解决了。双引号和单引号均应分别用
—
Lev Levitsky
"
和代替'
。
智能(?)报价!.. :)
—
Peter.O 2012年
我粘贴的正是我正在运行的内容。有人可以发布答案吗?
—
阿米尔·阿富汗尼
下次,当您问问题时,请张贴您看到的错误消息。它将为每个人节省时间。
—
Mikel
-exec
和之后的所有内容怎么办?它会打印Java文件的名称吗?(我担心您使用的是智能引号而不是ASCII引号。)