文件夹下:
/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