使用sed运行Linux find命令时出错
当我试着运行下面的程序时使用sed运行Linux find命令时出错,linux,sed,find,exec,Linux,Sed,Find,Exec,当我试着运行下面的程序时 find /tmp/PDraw.pl -type f -exec sed -l 's/PEntries/PEntries2/g'{}\; 我得到错误“find:missing argument to`-exec';我也尝试过一些帖子建议在‘‘{}和{}之间加空格,在{}和\之间加空格,但这又给我带来了另一个错误 sed: -e expression #1, char 7: extra characters after command 我的sed版本是4.2.1;此命
find /tmp/PDraw.pl -type f -exec sed -l 's/PEntries/PEntries2/g'{}\;
我得到错误“find:missing argument to`-exec';我也尝试过一些帖子建议在‘‘{}和{}之间加空格,在{}和\之间加空格,但这又给我带来了另一个错误
sed: -e expression #1, char 7: extra characters after command
我的sed版本是4.2.1;此命令在另一台Linux计算机上成功运行。我不知道为什么它现在不工作。你在{}之前忘了一个空格 一旦解决了
find
问题(参见Dorin的回答),就需要对sed
调用进行排序。从我的sed
(v4.2.1)中:
这表明-l接受一个数字参数。如果我接受您的
sed
调用并使用数字参数进行修改,则不会出现上述错误。您确定这在您的其他机器上有效吗(您是否运行正确的sed
?)。。。以及{}
和\之间的空格代码>
-l N, --line-length=N