Bash   发布时间:2022-05-13  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了bash – 将csv文件的第一列解析为新文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
操作系统:OSX
方法:从命令行,所以使用sed,cut,gawk,然最好不要安装模块.

本质上我试图拿一个csv文件的第一列,并解析为一个新的文件.

示例输入文件

EXAMPLEfoo,60,6
EXAMPLEbar,30,6
EXAMPLE1,3
EXAMPLE2,120,6
EXAMPLE3,6
EXAMPLE4,6

欲望输出

EXAMPLEfoo 
EXAMPLEbar
EXAMPLE1
EXAMPLE2
EXAMPLE3
EXAMPLE4

所以我想要第一列.

这是我到目前为止所尝试的

awk -F"," '{print $1}' in.csv > out.txt

awk -F"," '{for (i=2;i<=NF;i++)}' in.csv > out.txt

awk -F"," 'BEGIN { OFS="," }' '{print $1}' in.csv > out.txt

cat in.csv | cut -d \,-f 1 > out.txt

没有似乎工作,无论是打印第一行还是没有任何内容,所以我假设没有逐行阅读.

你的最后一个选择对我来说是完美的:
$cat > in.csv
EXAMPLEfoo,6
[Ctrl+D]
$cat in.csv | cut -d,-f1
EXAMPLEfoo
EXAMPLEbar
EXAMPLE1
EXAMPLE2
EXAMPLE3
EXAMPLE4

也许线路结局在这里咬你?如果该文件具有DOS风格或甚至旧的Mac风格的行尾,这可能会导致奇怪的行为.尝试运行文件in.csv,看看它出现了什么.

$file in.unix.csv
in.unix.csv: ASCII text
$file in.dos.csv
in.dos.csv: ASCII text,with CRLF line terminators

如果后者是您的情况,请使用dos2unix工具来转换文件.

编辑:在OS X上,似乎是flip is what you want.

大佬总结

以上是大佬教程为你收集整理的bash – 将csv文件的第一列解析为新文件全部内容,希望文章能够帮你解决bash – 将csv文件的第一列解析为新文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。