matteo_test.sh
이라는 파일이 있는데이 파일에는 /nettools/python_64
문자열이 포함되어 있습니다. 이 문자열을 /nettools/python_release/python278/
으로 바꾸고 싶습니다.문자열을 sed로 바꾸어도 작동하지만 파일을 저장하지 않습니다.
나는 다음을 수행하십시오
original_str='/nettools/python_64'
replace_str='/nettools/python_release/python278/'
sed "s~$original_str~$replace_str~" matteo_test.sh
내가 명령 줄이 나에게 파일 matteo_test.sh
의 전체 내용을 출력하는 것을 실행
그러나 파일을 다시 열면 내부에 이전 문자열이 표시되므로 파일 자체의 내용이 수정되지 않았습니다.
내가 실행하는 sed
명령은 파일 자체로 바꾸는 대신 파일의 전체 내용을 포함하는 문자열로 바꾸는 것 같습니다.
저는 유닉스 쉘의 전문가가 아니므로, 아마도 매우 간단한 요점을 놓치고있을 것입니다. 누군가 내가 잘못하고있는 것을 이해하도록 도와 줄 수 있습니까?
제 목적은 해당 문자열을 파일로 대체하는 것입니다.
파일의 내용을 업데이트하기 위해'sed -i'를 사용하십시오. – Kalanidhi
@Kalanidhi는 많이 감사합니다. 내가 그것을 받아들이고 그것을 upvote 그래서 답변으로 작성하시기 바랍니다. –