몇 가지 질문이 있다는 것을 알고 있지만 제 질문은 구체적입니다.
하위 문자열:을 폴더와 해당 하위 폴더에 있는 모든 HTML 파일 localhost:8000/
로 바꾸고 싶습니다 .https://www.begueradj.com/
이 경우 나 /
에게 //
문제가 발생했습니다 .
어떤 팁이 있나요?
편집하다:
더 열심히 노력하려는 나의 시도는 다음과 같습니다.여기.
하지만어느다른 효과적인 방법을 환영합니다.
답변1
여기에는 (적어도) 개선이 필요한 두 가지 사항이 있습니다.
- 다른 명령으로 생성된 파일 이름 목록을 사용하면 파일 이름에 공백 문자가 포함되거나 더 나쁜 경우
for
다소 흥미로운 방식으로 중단되는 경향이 있습니다. - 당신이 사용하는 인용문이
sed
이상합니다.
노력하다
find . -name '*.html' -print0 |
xargs -0 sed -i 's|localhost:8000|https://www.begueradj.com/|'
옵션은 전달된 모든 이름이 NUL로 종료되는지 확인 -print0
합니다 .find
xargs