나는 유닉스 서술문이 여러 개인 문자열이 (,), ||, &&, |
과 결합되어있다. 나는 그들을 unix 명령 행에서 평가 될 순서대로 배열 (중첩?)으로 분리하고 싶다. 나는 접두어 표기법으로 그것들을 원하지만 바람직하지 않습니다.유닉스 서술문을`(,), ||, &&, | '로 구분한다.
a --foo "b|a||r" && a -b || (a || a) | c | d
는
["|", ["|", ["||", ["&&", "a --foo \"b|a||r\"", "a -b"], ["||", "a", "a"]], "c"], "d"]
(정말 모든 가능성을 포함 예를 주려고 노력이 될 것이다. 나는이 접근 방법
?
이해 할 수 있습니다 인기있는 상위 수준 언어 (루비, 파이썬, 등), 또는 심지어 의사 코드가 도움이 될 것입니다.
나는'cat "a && b"|를 구문 분석 할 수 없을 것이라고 생각합니다. 에코'제대로? – user1527166
@ user1527166 : 문자열을 단순한 단위로 나눌 때 * 토큰 화 * 단계에서 처리해야합니다.'''사이의 내용은 완전히 문자열로 토큰 화되어야합니다 . – Heinzi
음, 한번 더 시도해보십시오. ,'cat "을 \"b \ ""''(즉, \ "는 문자열을 끝내지 않고 따옴표를 이스케이프 처리합니다) 처리 할 수 있습니까? – user1527166