CSV 是一种非常方便的数据交换格式。业务人员可以方便的在 Excel 进行编辑,然后上传到业务系统中。但是对于 Developer,Excel 略显笨重,并且编程方便并不那么友好。
本文将介绍一种方式,在 shell script 中处理 CSV 文件。内容涉及:
提取数据行
统计行数
输出指定列
按列排序
比较两列数据
其中将使用如下指令:
cat
grep
awk
wc
sort
vimdiff
提取数据行
中国城市近 4 年房产价格:
City,2013,2014,2015,2016
Beijing,22000,30000,35000,38000
Shanghai,20000,25000,30000,35000
Shaanxi-xi'an,6000,5800,5700,6000
Shaanxi-baoji,1000,1200,2000,2000
提取 Shaanxi 价格
cat apartment_prices.csv | grep ^Shaanxi
# output
# Shaanxi-xi'an,6000,5800,5700,6000
# Shaanxi-baoji,1000,1200,2000,2000
提取非 Shaanxi 价格
cat apartment_prices.csv | grep -v ^Shaanxi
# output
# City,2013,2014,2015,2016
# Beijing,22000,30000,350