Bash:
处理CSV文件

如何操作:

逐行读取 CSV 文件

while IFS=, read -r column1 column2 column3
do
  echo "列 1: $column1, 列 2: $column2, 列 3: $column3"
done < sample.csv

示例输出:

列 1: id, 列 2: name, 列 3: email
...

基于条件筛选 CSV 行

使用 awk,可以轻松筛选行。例如,找到第二列等于 “Alice” 的行:

awk -F, '$2 == "Alice" { print $0 }' sample.csv

修改列值

将第二列更改为大写:

awk -F, 'BEGIN {OFS=",";} { $2 = toupper($2); print $0; }' sample.csv

根据列对 CSV 文件排序

您可以根据,比如说,第三列(数字化)对 CSV 文件进行排序:

sort -t, -k3,3n sample.csv

使用 csvkit 进行更复杂的任务

csvkit 是一套用于转换和处理 CSV 的命令行工具。可以通过 pip 安装。

将 JSON 文件转换为 CSV:

in2csv data.json > data.csv

使用 SQL 查询 CSV 文件:

csvsql --query "SELECT name FROM sample WHERE id = 10" sample.csv

注意:安装 csvkit 需要 Python,并且可以使用 pip install csvkit 来完成。