Linux red hat + 替换脚本上的 PATH 或单词

Linux red hat + 替换脚本上的 PATH 或单词

文件夹下:

/var/userTN/applo folder

我有大约 100 个 shell 脚本,其中包括以下 PATH:

GLOBAL_PATH=/export/pop/PLW5

我想替换文件夹下所有脚本的路径:

/var/userTN/applo 

到这个路径

GLOBAL_PATH=/export/lld/sat

如何替换路径:

GLOBAL_PATH=/导出/pop/PLW5

在文件夹下的所有文件上:

/var/userTN/applo

用 find + sed 或其他方法? (作为 Perl 单行解决方案)

评论:

替换应该完全匹配“GLOBAL_PATH=/导出/pop/PLW5

例如

路径 ->GLOBAL_PATH=/导出/pop/PLW51(不应该更换!)

答案1

使用sed

sed -i.bak 's#^\(GLOBAL_PATH=/export/\)pop/PLW5$#\1lld/sat#' /var/userTN/applo/*

.bak如果您不想备份,原始文件将以扩展名进行备份:

sed -i 's#^\(GLOBAL_PATH=/export/\)pop/PLW5$#\1lld/sat#' /var/userTN/applo/*

例子:

$ sed 's#^\(GLOBAL_PATH=/export/\)pop/PLW5$#\1lld/sat#' <<<'GLOBAL_PATH=/export/pop/PLW5'
GLOBAL_PATH=/export/lld/sat

相关内容