gpt4 book ai didi

perl - 找到: missing argument to `-exec' in perl script

转载 作者:行者123 更新时间:2023-12-01 09:35:34 29 4
gpt4 key购买 nike

我知道有很多类似我的小问题的问题。一些被第二个-exec修复了,但这不是我需要的。也许我只是没有看到我的问题到底出在哪里......

我想在我的博客分析输出中匿名化 html 文件中的所有 IP:

#!/usr/bin/perl
use warnings;
use strict;
use readPathsFromConf;

system ("find $readPathsFromConf::WWWPATH$readPathsFromConf::WWWSUBDIR -type f -name \"\*\" -exec sed -i '' 's/\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}/anonymisiert/g' \{\} \;");

我只得到

find: missing argument to `-exec'

当我在命令行上键入时,我在 STDOUT 上得到了正确的文件:

find /var/www/statistics/ -type f -name "*"

但是一旦我添加了执行部分,我就会得到错误。

转义字符有问题吗?我错过了什么?(请原谅我的英语)

最佳答案

您应该转义嵌入在字符串中的引号和反斜杠:

system ("find /var/www/statistics/ -type f -name \"*\" -exec sed -i 's/\\([0-9]\\{1,3\\}\\.\\)\\{3\\}[0-9]\\{1,3\\}/anonymousIP/g' {} \\;");

另外,请注意,在某些平台(例如 Mac OS X)上,sed 的 -i 选项需要一个参数 - 备份文件扩展名。

关于perl - 找到: missing argument to `-exec' in perl script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8674347/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com