파일을 가져 와서 파일의 항목을 bash의 연관 배열에 저장하려고합니다. 연상 배열은 내 행동을위한 최선의 과정이 아닐 수도 있지만, 나의 연구에서 그것은 좋은 적합으로 보인다. 나는처럼 보이는 파일이 다음Bash의 연관 배열
personid
phone
phone
phone
personid
phone
phone
phone
유의하시기 바랍니다 persionid 항상 20 자리이며, 전화는 그냥 줄에 이들 중 하나에 공백이 파일에 다른 아무것도 없습니다 항상 10 없으며, . 필자는 개인 키인 키와 전화 인 나의 가치를 연관 배열에 매핑하려고했습니다.
내가이 작품에 대한에 작업 한 코드는 다음
declare -A person
while read key; do
if [ ${#key} -eq 20 ] ; then
personID="$key"
else
phone="$key"
fi
person=(["$personID"]="$phone")
done < myFile.txt
for i in "${!person[@]}"
do
echo "key: $i"
echo "value: ${person[$i]}"
done
제대로 저장하고 값으로 키를 하나의 전화로 한 personID을 인쇄 ....하지만이 있어야합니다 전화에 대한 여러 값. 나는 사람을 배정 할 때 나는 그 잘못을 저질렀거나 틀리게 배치해야한다고 생각하고있다. 하지만 지금은 꽤 오래 전부터 놀았지만 제대로 할 수는 없습니다. 이전에는 연관 배열을 사용하지 않았으므로 조금 문제가있었습니다. 도움에 미리 감사드립니다!
연관 배열 또는지도 키 - 값 쌍을 저장합니다. 원하는 것은 여러 값을 단일 키와 연관시킬 수있는 멀티 맵입니다. 개인적으로, 나는 bash 스크립트가 너무 복잡해지면서 지금까지 파이썬으로 전환했을 것이다. – Dennis
Dennis, 내 부분의 연관 배열에 대해 오해하겠습니다. – warlord786
'bash'는 데이터 처리를위한 것이 아니라 다른 프로세스를 실행하기위한 것입니다. – chepner