분리-정합성 구체화하십시오 배열로 bash
배시 (bash 스크립트입니다 한 줄로 분할하려면 냥이라구 및 저장할 어레이에서는 싶다.
선.
Paris, France, Europe
이러한 권한이 싶다 배열에서 다음과 같습니다.
array[0] = Paris
array[1] = France
array[2] = Europe
39 로 속도를 사용하여 코드, command& 싶다 doesn& # 39, t, 간단한 일이 아니다. How can I do it?
571
19
이 질문에 대한 다른 어떤 식으로든 모두 틀린 것입니다.
[ 틀린 답을 # 1] (https://stackoverflow.com/a/10586169/4272464)
이것은 설정하지 않고 운행에서어떠한 IFS:
이 아이디어는 flexlm*용 구체화하십시오 교체품:
달러 대신 공백 후 하위 일치시킵니다 교체할 수 있는 모든 문자열을 사용하여 초기화하려면 어레이입니다:
참고: 이 질문에 대한 사용 [split+glob 작동자] (https://unix.stackexchange.com/q/108963/79743). 따라서 확대를 막기 위해 일부 문자 ('*' 등) 이 스크립트입니다 글 로빙 일시정지하려면 것이 좋습니다.
가끔 발생했습니까 다는일은 해당 방법이 나와 수락됨 오토메이티드 # 39 는 return.<, 마차, 특히, t 작동합니까 didn& 분리자의 경우 br>. 이러한 경우는 내가 이 방법으로 해결했다.
이 값에 대해 대답을 한 line.< 수락됨 작동됨 br>; 여러 개의 변수를 경우 선:
모든 줄이 매우 다른 명령을 afaq 필요하다.
'읽을 때 boot-r 선. 책임질래 lines+ = ($ line" ";). ,, $ string" < 수행됨 < < ". '
또는 훨씬 간단해진다는 bash 리다레이 :
구분 문자 배열로 있다 '는 분할 다중 사용자 키를 문자열이어야 " ";'. 구분 문자 잘못 사용하여 멀티미디어 솔루션 'if' 모든 집합이 아니라 본질적으로 IFS 이후 이들 문자를 구체화하십시오.
할당할 경우, 그 중 하나에 끊어집니다. ',' IFS = " " 문자열이어야 ',' 또는 '" " "; 그 정확한 표현이 없는 조합을 ", '또는', '의 두 문자를 구분, " ".
Sed, awk 분할하려면 함께 사용할 수 있습니다 '' 또는 '' 문자열 처리 대체.
이는 비슷한 외곽진입 의해 Jmoney38 사용하지만, sed:
39 의 질문에 이 같이 지적했다, 다른 zone 이 스레드할 OP& 제공했음 예를 들면, 쉼표로 구분된 문자열 구문 배열로 수 있는지 여부를 밝히지 않은 그는 쉼표 구분, 단일 또는 멀티 문자 / 쥐들한테 관심을 가질 뿐 구분 문자를 구분.
구글 검색 결과 이상이 되는 경향이 있기 때문에 이 질문에 맨 위에 랭크, 내가 하고 싶은 강한 제공하십시오 판독기에서 구분, 그 이후 역시 질문에 대한 답을 언급된 여러 문자 하나 이상의 반응을 보였다.
39 의 경우, re you& 해결책을 찾기 위해 멀티 문자 구분 문제, 내가 & # 39 검토하든 제안하세요 말리카르쥔 M 의 사후, 특히 대응을 gniourf_gniourf
누가 이 세련된 개확장 매개변수입니다 순결케 BASH 이용하여 솔루션을 제공합니다.
Https://partner. microsoft. [인용 주석문입니다 / referenced 게시물로의] [3]
Https://partner. microsoft. 인용 질문: 따라하기 name 을 문자열으로 분할합니다 멀티 문자 구분 bash?
[3]: https://stackoverflow.com/questions/40686922/howto-split-a-string-on-a-multi-character-delimiter-in-bash # comment82225797_47633817
이 시도하시겠습니까
39 의 it& 단순해졌습니다. 스케쳐내 (또한 분리하십시오 쉼표), 너희가운데 추가할 수도 있습니다.
하지만 그것 없이는 인할지 IFS) 이 추가되고 그들위에 명령취소할 작동하잖아 인스턴스입니다 신선한 배시
이 게시물을 통해 볼 때, 다음과 같은 입력 왔는지 구문 분석 word1, word2.
같은 날 수 없었다. awk 사용하여 이를 해결했다. 도움이 된다면, 누군가.
이 방법은 날 OSX: "'배시 문자열 = " 1 2 3 4 5"; a 어레이입니다 너희가운데 = ($ 문자열) "' 구체화하십시오 경우 여러 가지 구분, 그냥 1 교체하여 및 공간. "'배시 문자열 = " 1.2,3.4,5"; 구분 = " "; a 어레이입니다 너희가운데 ($ ($ $ 구체화하십시오 tr " delimiter", 에코, = ". ") "'
간단한 :-)
또 다른 방법으로 이 수정 없이 IFS:
Tr 분할하려면 구체화하십시오 꽂으십시오 어레이입니다 객체에는 명령을 사용할 수 있습니다. 모두 작동하잖아 MacOS 및 Linux
업데이트: # 39, t 이렇게 don& 문제로 인해 평가.
조금 덜 함께 가졌다.
예:
이:
39 의 Here& 내 해킹! *
예쁜 일인 것은 지루한 의해 분할 문장열 문장열 사용하여 내주었다. 어떤 일이 발생합니까 제한한 것은 우리가 작업하십시오 외곽진입 단 몇 건 (분할되었습니다 ";;;;; ." " /" " 의해 ". 우리는 및 드릴링됩니다) 또는 다양한 부작용은요 config. 출력입니다.
필요한 것이라고 믿고 있다 하지만 난 외곽진입 아래에 몇 가지 요구 사항을 대부분 작동합니까 기동 작전을 수행했다.
또 다른 방법은 다음과 같습니다.
지금 당신의 요소는 저장됩니까 " arr"; 어레이입니다. 반복할 수 있는 요소:
다른 외곽진입 다음과 같을 수 있습니다.
39, & # 39 이 후에도 arr&. 4 개의 써줬지 배열입니다
39 이 doesn& 필요한 물건을 많이 읽고, t 처리 IFS 또는 기타 특수한 업그레이드됨 간단해진다는 및 직접.