내가 좋아하는 쉘 스크립트가 작동하지 않습니다. 왜 이런거야?글로벌 대체 쉘 스크립트는
답변
큰 따옴표 대신 작은 따옴표를 사용하는 것이 문제입니다. 작은 따옴표를 사용하면 sed
은 문자열을 문자 그대로 해석합니다 (즉, 첫 번째 인수가 아닌 $1
문자열을 검색합니다).
다음은 수행하려고 시도했던 기능 버전입니다. 임시 파일 사용을 sed의 "in-place"편집으로 대체했습니다.
for fl in /home/dr/*.txt
do
sed -i "s#$1#$2#g" $fl
done
그러나 당신이 할 수있는 한 줄의 모든!
sed -i "s#$1#$2#g" /home/dr/*.txt
좋은 답변 주셔서 감사합니다. $ 1에 '/'기호가 있으면 문제가 발생합니까? 이것이 내가 # 기호를 사용하는 이유입니다. 그리고 '입니다.' 의도적으로 txt에서 생략 되었습니까? – dukevin
예, 문제가 생길 수 있으며, 그 이유는'#'이 훨씬 더 나은 선택입니다. 그 죄송합니다. 나는 단지 슬래시를 습관의 힘으로 사용한다. –
아니, 생략 된'.'은 내 실수로 인해 버려졌습니다. 좋은 캐치와 사과. –
당신이 (GNU가 나오지도)에 대한이 작동하지 않을 수 있습니다 : 당신이 있었다
sed -i "s#$1#$2#g" /home/dr*.txt
문제는 주위 보간을 허용하지 않는 명령을 나오지 작은 따옴표입니다.
- 1. 쉘 스크립트는
- 2. BASH 쉘 스크립트는
- 3. 리눅스 쉘 스크립트는
- 4. 쉘 스크립트는 조건
- 5. PHP를 구성 쉘 스크립트는
- 6. 다음 쉘 스크립트는 무엇을합니까
- 7. 실행 쉘 스크립트는
- 8. 쉘 스크립트는 테스트 목적으로
- 9. 쉘 스크립트는 내가에있어
- 10. 유닉스 쉘 스크립트는
- 11. 쉘 스크립트는 TaskSet
- 12. YAML을위한 대체 스크립트는 무엇입니까?
- 13. 글로벌 변수/상수로의 대체
- 14. 쉘 스크립트는 12 진수로 변환합니다.
- 15. 쉘 스크립트는 명령으로 변수를 사용합니다.
- 16. 쉘 스크립트는 여러 FTP 파일
- 17. 쉘 스크립트는 찾을 검색 및
- 18. '-nt'테스트의 SUS/POSIX 쉘 호환 대체
- 19. 쉘 스크립트는`경로를 입력하는 사용자에게 메시지를 표시한다 내가 쉘 스크립트가
- 20. 글로벌 키보드 후크가 작동하지만 글로벌 쉘 후크가 실패합니다.
- 21. 쉘 스크립트 매개 변수 대체
- 22. 쉘 스크립트 변수 대체 문자
- 23. 왜이 awk 스크립트는 쉘 변수를 보지 못합니까?
- 24. 쉘 스크립트는 자바 프로그램에서 실행되지 않습니다
- 25. 쉘 스크립트는 eth0의 게이트웨이 주소를 얻습니다.
- 26. 쉘 스크립트는 bash에서 작동하지만 ksh에서는 작동하지 않습니다.
- 27. 쉘 스크립트는 우분투 시간을 GPS 장치와 동기화합니다
- 28. 긴 실행 파워 쉘 스크립트는 SO의
- 29. 간단한 쉘 스크립트는 다음 스크립트가 작동하지 않습니다
- 30. 쉘 스크립트는 출력에 변수를 저장할 수 없습니다.
작은 따옴표 안의'''$ 1'과'$ 2'는 아마도 여러분이 의미하는 바가 아닙니다. –