다음 코드가 있습니다.Text read from file: "E" "01" "Adv - Initial" "07/11/2017"
다음과 같은 배열에 저장하고 싶습니다.
array[0] = "E" array[1] = "01" array[2] = "Adv - Initial" array[3] = "07/11/2017"
나는 시도했다:
itemData=( "$line" )
while 루프에서. 하지만 원하는 결과를 얻지 못합니다.
답변1
문제 중 하나는 , , 가 "Adv - Initial"
깨질 것이라는 점입니다. 변화를 가지고 놀아야 합니다.Adv
-
Initial
IFS
#/bin/bash
savIFS=$IFS
IFS=\"
array=($line)
IFS=$savIFS
echo "${array[1]}"
echo "${array[3]}"
echo "${array[5]}"
echo "${array[7]}"
답변2
당신이 원하는추가의현재 배열. 이를 달성하려면 다음을 수행하십시오.
declare -a array
배열을 선언하고
array+=("$line")
배열에 요소를 추가합니다.
쉘 변수 또는 배열 인덱스(배열 참조)에 값을 할당하는 할당 문의 컨텍스트에서 "+=" 연산자를 사용하여 변수의 이전 값에 추가하거나 추가할 수 있습니다.