다음과 같은 partner라는 파일이 있습니다.
abc
def
ghi
다음과 같은 또 다른 conf 파일이 있습니다.
part=abc
var=x
var=y
id=123
part=def
var=z
id=345
등등...
while 루프를 사용하여 '파트너'에서 줄을 읽는 쉘 스크립트를 만들고 sed를 사용하여 conf 파일에서 해당 파트너 이름을 포함하는 블록을 검색합니다. 그 후 마지막으로 sed를 사용하여 id 값 (예 : 123에서 123_1)을 바꾸고 새 블록을 다른 파일에 저장합니다.
while read -r var || [[ -n "$var" ]]
do sed -n '/part=$var/,/^$/p' conf.cfg | xargs sed 's/id=123/id=123_1/g' >> new.txt
done
내가 무엇을 잘못하고 있지? 출력으로 빈 줄의 텍스트 만 제공하므로.
명령의 인수에 변수를 사용하는 경우 간단한 따옴표로 묶을 수 없습니다.
쉘 스크립트 문제를 해결하고 명령을 차례로 실행 해보십시오. 문제를 좁히는 데 도움이됩니다.
sed -n "/part=$var/,/^$/p" conf.cfg
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다