我想在linux中替换一个字符串,其想法是找到所有以abc为字符串的文件,并在一个目录和所有子目录中用xyz替换。
你能建议我如何使用Linux外壳脚本来完成这项工作吗
您可以使用find和sed,因为sed只会影响具有此字符串的文件。如果一个文件没有字符串,那么无论如何运行replace都没有缺点:
find -type f -exec sed -i 's/abc/xyzg' {} +
-type f
仅查找文件(排除目录(- 找到的每个文件的
-exec
执行 sed -i
就地编辑文件- CCD_ 4替换所有出现的"0";abc";用";xyz";在所有行中
- CCD_ 5调用";exec";同时具有多个文件名的命令,而不是每个文件一次