Bash读取CSV 文件
CSV文件是使用逗号作为分隔符的文本文件,CSV文件以纯文本格式存储数据,文件的每一行都是一条数据记录。 我们可以使用bash中的while循环来读取CSV文件。IFS变量设置分隔符为,(逗号)。read命令读取每一行并将数据存储到每个字段中。 一个简单的实例 st.sh文件内容如下: while IFS=, read -r fd1 fd2 do echo "$fd1 and $fd2" done < input.csv 我们来运行下st.sh试试: alair@op36 MINGW64 ~/Documents $ cat input.csv bob,18 alair,23 kim,32 alair@op36 MINGW64 ~/Documents $ sh ./st.sh bob and 18 alair and 23 kim and 32 处理丢失的字段 #!/bin/bash missing=false while IFS=, read -r fd1 fd2 do if [ "$fd1" == "" ] then echo "field1 is empty or no value set" missing=true elif [ "$fd2" == "" ] then echo "field2 is empty or no value set" missing=true else echo "$fd1 and $fd2" fi done < input.csv if [ $missing ] then echo "WARNING: Missing values in a CSV file. Operation failed!" exit 1 else echo "CSVfile read successfully!" fi bash解析csv文件 再来一个复杂点的实例。 ...