sed 替换指定/home/daas文件夹下.sh和.config和.properties后缀的所有的指定字符串
时间: 2024-02-05 21:10:39 浏览: 153
可以使用下面的命令:
```
sed -i 's/old_string/new_string/g' /home/daas/*.{sh,config,properties}
```
其中,`-i` 参数表示直接修改文件内容,`s/old_string/new_string/g` 表示将文件中所有的 `old_string` 替换成 `new_string`,`/home/daas/*.{sh,config,properties}` 表示匹配 `/home/daas` 文件夹下所有以 `.sh`、`.config`、`.properties` 结尾的文件。
相关问题
递归替换替换/home/daas目录下的.sh和.conf和.config和.properties文件的指定字符串
可以使用递归遍历目录的方式,找到所有符合条件的文件,并对其中的字符串进行替换。下面是一个可能的实现:
```bash
#!/bin/bash
# 要替换的字符串和替换后的字符串
FIND_STR="old_string"
REPLACE_STR="new_string"
# 递归遍历目录并替换指定类型的文件中的字符串
function replace_in_files {
for file in "$1"/*; do
if [[ -d "$file" ]]; then
replace_in_files "$file"
elif [[ -f "$file" ]]; then
if [[ "$file" == *.sh || "$file" == *.conf || "$file" == *.config || "$file" == *.properties ]]; then
sed -i "s/$FIND_STR/$REPLACE_STR/g" "$file"
fi
fi
done
}
# 从指定目录开始遍历
replace_in_files "/home/daas"
```
这个脚本会递归地遍历 `/home/daas` 目录下的所有文件和子目录。对于每个找到的文件,如果它是 `.sh`、`.conf`、`.config` 或 `.properties` 类型的文件,就使用 `sed` 命令进行替换。注意,替换操作是在原文件上进行的,因此要谨慎操作。
sed 替换指定文件夹下.sh和.config和.properties后缀的所有的指定字符串
可以使用以下命令:
```
find /path/to/folder -type f \( -name "*.sh" -o -name "*.config" -o -name "*.properties" \) -exec sed -i 's/old_string/new_string/g' {} +
```
其中,`/path/to/folder` 是要替换的文件夹路径,`old_string` 是要被替换的字符串,`new_string` 是替换后的字符串。
该命令会查找所有后缀为 `.sh`、`.config` 或 `.properties` 的文件,并在这些文件中替换指定的字符串。`-exec` 参数将 `sed` 命令应用到所有找到的文件。`-i` 参数表示直接修改文件内容,而不是输出到终端。`{} +` 表示将多个文件作为参数传递给 `sed` 命令,以提高效率。
阅读全文