나는 큰 따옴표가있는 키워드에 대해 grep을하고 싶었습니다. 간단한 예를 들면 :
echo "member":"time" | grep -e "member\""
일치하지 않습니다. 어떻게 고칠 수 있습니까?
답변:
문제는 입력 문자열을 올바르게 이스케이프하지 않았다는 것입니다.
echo "\"member\":\"time\"" | grep -e "member\""
또는 작은 따옴표 안에 이스케이프 처리되지 않은 큰 따옴표를 사용할 수 있습니다.
echo '"member":"time"' | grep -e 'member"'
두 번째 접근 방식은 명령을 다른 작은 따옴표 세트 (예 :) 내에 중첩하는 것을 방지하지만 더 명확하게 찾는 선호도의 문제입니다 ssh 'cmd'
.
echo '"member":"time"' |grep -e 'member"'
합니다. 두 가지 방법 모두 유효하지만 의도가 더 명확하므로 명시 적 이스케이프를 선호합니다.
echo '"member":"time"' |grep -e "member"
하지 테스트 한