".properties"파일에서 값을 얻는 스크립트가 있습니다. 그것은 단순한 문자열 인 경우 값을 성공적으로 대체하지만 ('\')와 같은 이스케이프 문자가 포함 된 경우 작동하지 않습니다. 아무도 지적 할 수있는 무엇을, 나는 인터넷에서 검색했지만 "REGEX"를 이해할 수 없습니다.Sed 명령으로 문자열을 특수 문자로 바꿀 수 없습니다.
스크립트 파일 :
#!/bin/bash
# Omer's First Script
#Include Properties File
. directoryPaths.properties
echo "Start"
sed -i "s/DONEDIRECTORY/$DoneDirectory/" *TestFile*
echo "finish"
directoryPaths.properties
DoneDirectory=/home/omerkhalid/Documents/Test/Done
TestFile.txt는
이 테스트 문서입니다.
DONEDIRECTORY
오류 :
sed: -e expression #1, char 18: unknown option to `s'
참고 : 내가 즉 "완료"단순한 문자열에 "DoneDirectory"의 값을 변경하는 경우, 그것은 잘 작동합니다. 그러나 "/"이스케이프 문자는 작동하지 않습니다.