Tôi đang làm việc trên một kịch bản Bash dài. Tôi muốn đọc các ô từ tệp CSV thành các biến Bash. Tôi có thể phân tích cú pháp các dòng và cột đầu tiên, nhưng không phải bất kỳ cột nào khác. Đây là mã của tôi cho đến nay:
cat myfile.csv|while read line
do
read -d, col1 col2 < <(echo $line)
echo "I got:$col1|$col2"
done
Nó chỉ in cột đầu tiên. Như một bài kiểm tra bổ sung, tôi đã thử những cách sau:
read -d, x y < <(echo a,b,)
Và $ y trống. Vì vậy, tôi đã thử:
read x y < <(echo a b)
Và $ y là b
. Tại sao?
awk
sử dụng$1
,$2
, vv?