我正在做一个bash脚本,它读取类似于:
的csv文件Name, Surname, Course
X, Y, Maths,
A, B, Science,
C, D, Maths,
E, F, Science,
G, H, Science,
我试图实现类似的东西:
declare -a newmap
newmap[name]="${myarray[0]}"
newmap[course]="${myarray[3]}"
echo "Name ${newmap[name]}"
echo "Course ${newmap[course]}"
但我不确定如何在阅读文件时使用它。
谢谢
答案 0 :(得分:0)
如果您想要的只是打印到控制台,请尝试使用以下内容 -
while read -r line;
do
IFS=',' read -ra myarray <<< $line
[ "${myarray[0]}" == "Name" ] && continue
echo "Name ${myarray[0]}"
echo "Course ${myarray[2]}"
done < "${1:-/dev/stdin}"
这将从您的输入文件中读取(从此处使用的控制台更改)。然后,它会按,
标记每一行以获取字段。