首页 > 解决方案 > Bash:如何用分隔符分割一行并将每个元素打印在新行上?

问题描述

我有一个 CSV 文件,其标题包含 2000 多列。我希望只读取第一行然后将其拆分,并在新行中打印每个列名,以便我可以通过 grep 查看列是否存在。我被困住了

head -n 1 file.csv | ### what do do here? ### | grep var_i_want

标签: bashawksed

解决方案


您可以使用tr,例如:

head -n 1 file.csv | tr "," "\n"

这不会处理其中带有逗号的字段。如果您有权访问python,您可以执行以下操作:

head -n 1 file.csv | python -c 'import csv,sys; print("\n".join(csv.reader(sys.stdin).next()))'

推荐阅读