난 항상 4 '단어'는 콜론으로 구분 배쉬에서 문자열을 분할 변수
Strings:With:Four:Words and spaces
을 가지고 있으며, 배쉬 4 개 변수로 분할 할 필요가 문자열을 할당해야합니다. so ..
var1="Strings"
var2="With"
var3="Four"
var4="Words and spaces"
어떻게하면됩니까?
난 항상 4 '단어'는 콜론으로 구분 배쉬에서 문자열을 분할 변수
Strings:With:Four:Words and spaces
을 가지고 있으며, 배쉬 4 개 변수로 분할 할 필요가 문자열을 할당해야합니다. so ..
var1="Strings"
var2="With"
var3="Four"
var4="Words and spaces"
어떻게하면됩니까?
사용 IFS=:
read
전에 :이 도움이 될
s='Strings:With:Four:Words'
IFS=: read -r var1 var2 var3 var4 <<< "$s"
echo "[$var1] [$var2] [$var3 [$var4]"
[Strings] [With] [Four [Words]
백 슬래시 이스케이프 시퀀스의 해석이 명시 적으로 요구되지 않으면'-r' 인수를'read'에 추가하는 것이 좋습니다. –
예'-r'을 추가하면 더 안전합니다 (편집 됨). 감사. – anubhava
: http://stackoverflow.com/questions/918886/how-do-i-split-a-string-on-a-delimiter-in -bash – Octopoid
'var4 = 단어와 공백'은 첫 번째 인수로'spaces'를 사용하고 환경에서'var4'를'Words'로 설정하여'and' 명령을 실행할 것입니다. 더 정확하게'var4 = '단어와 공백'을 써서 성취하려고하는 것과 동등하게 행동하는 것을 보여줍니다. –