Linux red hat + 스크립트의 PATH 또는 단어 바꾸기

Linux red hat + 스크립트의 PATH 또는 단어 바꾸기

폴더 아래:

/var/userTN/applo folder

다음 경로를 포함하는 약 100개의 쉘 스크립트가 있습니다.

GLOBAL_PATH=/export/pop/PLW5

폴더 아래의 모든 스크립트 경로를 바꾸고 싶습니다.

/var/userTN/applo 

이 길로

GLOBAL_PATH=/export/lld/sat

경로를 바꾸는 방법:

GLOBAL_PATH=/수출/팝/PLW5

폴더 아래의 모든 파일에서:

/var/userTN/applo

find + sed 또는 다른 방법을 사용하시겠습니까? (Perl 한 줄 솔루션으로)

논평:

대체 항목이 정확히 일치해야 합니다."GLOBAL_PATH=/수출/팝/PLW5"

예를 들어

경로->GLOBAL_PATH=/수출/팝/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

관련 정보