मैं एक लंबी बैश स्क्रिप्ट पर काम कर रहा हूं। मैं सीएसवी फ़ाइल से बैश चर में कोशिकाओं को पढ़ना चाहता हूं। मैं लाइनों और पहले कॉलम को पार्स कर सकता हूं, लेकिन किसी अन्य कॉलम को नहीं। यहाँ मेरा कोड अब तक है:
cat myfile.csv|while read line
do
read -d, col1 col2 < <(echo $line)
echo "I got:$col1|$col2"
done
यह केवल पहला कॉलम छाप रहा है। एक अतिरिक्त परीक्षण के रूप में, मैंने निम्नलिखित कोशिश की:
read -d, x y < <(echo a,b,)
और $ य खाली है। इसलिए मैंने कोशिश की:
read x y < <(echo a b)
और $ य है b
। क्यों?
awk
उपयोग करने के लिए$1
,$2
, आदि?