2015-01-29 1 views
2

난 항상 4 '단어'는 콜론으로 구분 배쉬에서 문자열을 분할 변수

Strings:With:Four:Words and spaces 

을 가지고 있으며, 배쉬 4 개 변수로 분할 할 필요가 문자열을 할당해야합니다. so ..

var1="Strings" 
var2="With" 
var3="Four" 
var4="Words and spaces" 

어떻게하면됩니까?

+0

: http://stackoverflow.com/questions/918886/how-do-i-split-a-string-on-a-delimiter-in -bash – Octopoid

+0

'var4 = 단어와 공백'은 첫 번째 인수로'spaces'를 사용하고 환경에서'var4'를'Words'로 설정하여'and' 명령을 실행할 것입니다. 더 정확하게'var4 = '단어와 공백'을 써서 성취하려고하는 것과 동등하게 행동하는 것을 보여줍니다. –

답변

3

사용 IFS=:read 전에 :이 도움이 될

s='Strings:With:Four:Words' 
IFS=: read -r var1 var2 var3 var4 <<< "$s" 
echo "[$var1] [$var2] [$var3 [$var4]" 
[Strings] [With] [Four [Words] 
+0

백 슬래시 이스케이프 시퀀스의 해석이 명시 적으로 요구되지 않으면'-r' 인수를'read'에 추가하는 것이 좋습니다. –

+0

예'-r'을 추가하면 더 안전합니다 (편집 됨). 감사. – anubhava

관련 문제