프로세스 대체에서 해당 프로세스 대체의 루프로 변수 값을 전달하는 방법은 무엇입니까?
if
csv 파일을 연관 배열로 읽고 있는데 각 행을 읽을 때 배열의 특정 요소가 비어 있지 않은지 테스트하고 해당 요소에 대해 작업을 수행하는 루프를 갖고 싶습니다 .
IFS=","
$csvfile="path/to/file.csv"
declare -A arr1
declare -A arr2
declare -A arr3
while read -r -a linedata
do
arr1["${linedata[1]}"]="${linedata[10]}"
arr3["${linedata[1]}"]="${linedata[0]}"
echo repeat -"${linedata[2]}"-
if [[ -n "${linedata[2]}" ]] && [[ ! "${linedata[2]}" == "" ]] ; then
arr2["${linedata[2]}"]="${linedata[10]}"
arr3["${linedata[2]}"]="${linedata[0]}"
else
echo skipped for "${linedata[2]}"
fi
done < $csvfile
블록이 이전에 배열의 값을 echo
올바르게 인쇄하는 동안 배열의 값이 조건에 전달되지도 않은 것 같습니다 . ( 배열 요소가 일치해야 하지만 조건이 충족되지 않습니다.) 블록이 실행된 후에는 값이 항상 비어 있습니다.)if
linedata
if
else
이 작업을 시도했지만 < <($csvfile)
권한이 거부되었다는 오류가 발생했습니다.
미리 감사드립니다