Bash:如何用分隔符分割行并将每个元素打印在新行上?

xia*_*dai 2 bash awk sed

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

head -n 1 file.csv | ### what do do here? ### | grep var_i_want
Run Code Online (Sandbox Code Playgroud)

tek*_*eki 6

您可以使用tr,例如:

head -n 1 file.csv | tr "," "\n"
Run Code Online (Sandbox Code Playgroud)

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

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