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

标签 bash awk sed

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

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

最佳答案

你可以使用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()))'

关于Bash:如何用定界符分割一行并在新行上打印每个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58829473/

相关文章:

linux - 'N' 和 'D' 无法按预期使用 sed

perl - 如何使用 shell 或 perl 在目录中所有 .c 文件的开头添加 2 行

regex - 用 perl 动态替换

linux - 更改为名称中包含空格的目录

bash - centos+nodejs+永远(启停)

replace - Awk:用另一个文件中的一列替换一个文件中的列

powershell - 寻找与特定 awk 命令等效的 powershell

linux - 我需要在 shell 中用双引号括起一个替代变量

regex - 删除两个特殊字符之间的字符

jenkins - 无法使用变量在 jenkins 管道中的字符串匹配后替换行