나는 여기에 코드 골프의 질문에 대답 :
https://codegolf.stackexchange.com/q/89400/57100
내 대답 :
https://codegolf.stackexchange.com/a/89421/57100
내 대답을 개선하기 위해 sugestion했다 코멘트를 가지고,하지만 난 알아낼 수 없습니다 정확히 어떻게 작동하는지.아포스트로피
수수께끼는 소스 코드에있는 문자 만 입력하고 출력하는 것이 었습니다.
제안했다 :
grep -o '[] [|\'\'greposrtu-]|sort -u
나는 첫 번째 ]
브래킷 식을 폐쇄하지 -o
, sort -u
를 얻을,하지만 난 그렙에 대한 인수의 나머지 부분에 조금 혼란 스러워요. 내가 말할 수있는 한, 첫 번째 '
은 문자열을 열지 만 맨 마지막에 문자열을 닫지는 않습니다. 또한, 브래킷 발현의 첫 번째 \'
(나는 더 입력을 기다립니다 모두 \'
의를 꺼내 경우) 문자열을 닫을 것뿐만 아니라 \
다음
하는 몇 가지 다른 더 최소한의 예와 일치 :
1. grep -o '[]']
일치 ]
하지만 '
경기 \
, [
및 ]
하지만 '
3. grep -o '[][\'\']
경기 '
, [
, ]
및이 예제에 대한 grep: Unmatched [ or [^
질문 :
4. grep -o '[']
오류 제공
1. 왜 '
문자열을 닫습니다 않습니다,하지만 ]
는 이후 그 문자열에 브래킷 식을 닫습니다? \'
가 \
과 일치하는 이유는 무엇입니까?
3. 이번에 처음으로했던 것보다 \
이 아닌 이 이번에 '
과 일치하는 이유는 무엇입니까?
'[]']
은 왜 작동하지만 '[']
은 작동하지 않는 이유는 무엇입니까?
그래서 grep은'[] [| \ 'grepstru-]'를 보았습니까? – Riley
@Riley : 'xactly. – choroba
감사합니다. 나는 항상'''''나는'''을 사용해야한다고 생각했습니다. – Riley