mac 批量替换不通目录下的相同文件名中的字符串
时间: 2024-04-17 20:24:33 浏览: 7
要在不同目录下批量替换相同文件名中的字符串,您可以使用以下命令:
```shell
find /your/directory -type f -name "filename" -exec sed -i 's/old_text/new_text/g' {} +
```
将 "/your/directory" 替换为您要搜索的根目录路径。"filename" 替换为要匹配的文件名。"old_text" 替换为要替换的旧文本,"new_text" 替换为要替换为的新文本。
该命令会在指定的目录下递归搜索匹配 "filename" 的文件,并将文件中的所有匹配 "old_text" 的地方替换为 "new_text"。
请注意,在使用 `-i` 选项时,`sed` 命令将直接修改原始文件。如果您想要创建备份文件,请将 `-i` 选项与一个后缀一起使用,例如 `-i.bak`,这样会在修改文件时同时创建带有 ".bak" 后缀的备份文件。
请务必在运行此命令之前,仔细检查并确认要替换的内容,以避免意外修改重要文件。
相关问题
Linux 批量替换不通目录下的文件,文件名相同的字符串为空
要批量替换不同目录下相同文件名的为空,您可以使用以下命令:
```shell
find /path/to/parent_directory -type f -name "filename.ext" -exec sed -i 's/search_string//' {} +
```
在上述命令中,您需要将 `/path/to/parent_directory` 替换为包含目标文件的父目录的路径。同时,将 `filename.ext` 替换为您要替换的文件的名称和扩展名。
该命令使用 `find` 命令来查找匹配指定文件名的文件,然后使用 `-exec` 选项和 `sed` 命令来执行替换操作。
在 `sed` 命令中,`s/search_string//` 表示将匹配到的 `search_string` 替换为空字符串,实现字符串的删除操作。
请确保在执行命令之前先确认目标文件的名称和路径,以免误操作删除其他内容。
mac 批量删除不通目录下的文件,文件名相同
在 macOS 上,您可以使用以下命令批量删除不同目录下具有相同文件名的文件:
```shell
find /your/directory -name "filename" -exec rm -f {} +
```
在上面的命令中,将 "/your/directory" 替换为您要搜索的根目录路径,"filename" 替换为要删除的文件名。
该命令会在指定的目录下递归搜索具有相同文件名的文件,并将其删除。
请务必在运行此命令之前,仔细检查并确认要删除的文件,以避免意外删除重要文件。