linux 执行报错 find conf -type f -name "instance.properties" -exec sed -i '' 's|binlog.000004||g' {} + sed:无法读取 s|binlog.000004||g:没有那个文件或目录
时间: 2023-10-26 08:04:52 浏览: 184
抱歉,我之前的回答有误。根据提供的报错信息,sed 命令在执行时找不到指定的文件或目录。
可能的原因是 `find` 命令未能正确定位到要处理的文件。请确保在 `find` 命令中指定正确的路径。
另外,请检查文件名和路径是否正确。如果文件名中包含空格或特殊字符,请使用引号将其括起来,例如:
```shell
find /path/to/parent_directory -type f -name "instance.properties" -exec sed -i 's|binlog.000004||g' {} +
```
请确保将 `/path/to/parent_directory` 替换为包含目标文件的父目录的实际路径,并确保 `instance.properties` 文件存在于该目录中。
如果问题仍然存在,请提供更多详细信息,以便我能够更好地帮助您解决问题。
相关问题
执行这个命令 find conf -type f -name "instance.properties" -exec sed -i 's|binlog.000006|binlog.000004|g' {} + 报错这个sed: 1: "conf/canal_account/inst ...": command c expects \ followed by text
非常抱歉,我之前给出的解决方案仍然有误。根据您提供的命令和报错信息,您仍然遇到了相同的问题。
根据报错信息中的 "command c expects \ followed by text",它指示 sed 命令中的 `c` 命令存在问题。
为了解决这个问题,您可以尝试使用以下命令来替换文本:
```shell
find conf -type f -name "instance.properties" -exec sed -i 's|binlog\.000006|binlog\.000004|g' {} +
```
在上述命令中,我使用反斜杠 `\` 来转义点号 `.`,将 `binlog.000006` 替换为 `binlog.000004`。这样可以确保 sed 命令正确解释点号字符。
请注意,根据您所使用的操作系统和 sed 版本的不同,命令可能会有所不同。如果问题仍然存在,请提供更多信息,例如您使用的操作系统和 sed 版本,以便我能够更好地帮助您解决问题。
阅读全文