eof에서 파일의 마지막 VirtualHost 문자열을 이동해야합니다. 나는 sed를 사용해 보았다
#!/bin/bash
tac infile.txt | sed "s/<\/VirtualHost>//; ta ; b ; :a ; N ; ba" | tac
echo "</VirtualHost>" >>infile.txt
현재 텍스트 :
</VirtualHost>
#Added for Patch
<LocationMatch ^/bea_wls_internal/>
RewriteEngine ON
</VirtualHost>
RewriteOptions inherit
</LocationMatch>
원하는 텍스트 :
</VirtualHost>
#Added for Patch
<LocationMatch ^/bea_wls_internal/>
RewriteEngine ON
RewriteOptions inherit
</LocationMatch>
</VirtualHost>
명령이 작동합니다.
#!/bin/bash
tac infile.txt | sed "s/<\/VirtualHost>//; ta ; b ; :a ; N ; ba" | tac
echo "</VirtualHost>" >>infile.txt
그리고 당신 은
내가 사용하는 tac 문은 콘솔에서 원하는 출력을 올바르게 인쇄 할 수 있지만 파일에서 이러한 변경을 수행하는 방법은 무엇입니까?
이렇게하려면 내가 추가 한 변경 사항을 확인하십시오. 결과를 임시 파일에 저장 new_file
한 다음 infile.txt
.
#!/bin/bash
tac infile.txt | sed "s/<\/VirtualHost>//; ta ; b ; :a ; N ; ba" | tac > new_file
echo "</VirtualHost>" >> new_file
mv new_file infile.txt
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다