我正在考虑替换Linux中的字符串,其想法是找到所有以abc作为字符串的文件,并在目录和所有子目录中替换为xyz。
你能建议我如何使用 Linux shell 脚本来做到这一点吗
您可以使用 find 和 sed,因为 sed 只会影响具有此字符串的文件。如果文件没有该字符串,无论如何运行替换都没有缺点:
find -type f -exec sed -i 's/abc/xyz/g' {} +
-type f
只查找文件(不包括目录)-exec
对于找到的每个文件执行...sed -i
就地编辑文件s/abc/xyz/g
将所有行中所有出现的“abc”替换为“xyz”{} +
一次调用多个文件名的“exec”命令,而不是每个文件调用一次