Bash 如何使用终端从csv文件中提取列
我刚刚开始使用Unix系统来运行plink分析。我需要从我的参考csv文件中提取两列(第一列和第三列),并从中生成一个新的csv。如何在unix环境中执行此操作? 我的参考文件file.csv看起来像Bash 如何使用终端从csv文件中提取列,bash,unix,plink,Bash,Unix,Plink,我刚刚开始使用Unix系统来运行plink分析。我需要从我的参考csv文件中提取两列(第一列和第三列),并从中生成一个新的csv。如何在unix环境中执行此操作? 我的参考文件file.csv看起来像 V1 V2 v3 V4 V5 V6 V7 V8 V9 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 我想提取列V1和V3,并创建一个新的csv,它将在其中显示新建.csv V1 V3 1 1 2 2 在unix中,我应该使用
V1 V2 v3 V4 V5 V6 V7 V8 V9
1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2
我想提取列V1和V3,并创建一个新的csv,它将在其中显示<代码>新建.csv
V1 V3
1 1
2 2
在unix中,我应该使用什么命令行来执行此操作?如果值以空格分隔,则可以使用
awk
生成所需的结果,如下所示:
awk '{print $1 " " $3}' File.csv | column -t
对于较新版本的
列
,您可以使用-R
选项使输出列按照示例正确对齐。如果您的值以空格分隔,则可以使用awk
生成所需的结果,如下所示:
awk '{print $1 " " $3}' File.csv | column -t
对于较新版本的
列
,您可以使用-R
选项使输出列按照示例正确对齐。您的数据不是CSV文件,因为它不包含任何作为分隔符的coma。CSV代表以逗号分隔的值
您的数据具有基于列的格式。为此,您可以使用:
1-2
使用“V1”和6-8
使用空格和“V3”。您的数据不是CSV文件,因为它不包含任何作为分隔符的coma。CSV代表以逗号分隔的值
您的数据具有基于列的格式。为此,您可以使用:
1-2
取“V1”,而6-8
取空格和“V3”
假设这些是逗号分隔的值阿利赫 我想提取列V1和V3并生成一个新的csv
假设这些是逗号分隔的值阿利赫 我想提取列V1和V3并生成一个新的csv
我只是通过举例来编辑这个问题。如果你能告诉我使用awk命令应该是什么样子,那会很有帮助。你的示例不包含逗号分隔值(csv)。让我们假设这些是逗号分隔值。
awk-F',“{print$1”“$3>”New.csv”}文件。csv
@Aryh:Plesae更新你的问题,这样我们就可以看到你的文件是什么样子了。只是在评论中提到,你帖子中的每个空格都是逗号,这让人困惑而不是有用。我只是通过举例来编辑这个问题。如果你能告诉我使用awk命令应该是什么样子,那会很有帮助。你的示例不包含逗号分隔值(csv)。让我们假设这些是逗号分隔值。awk-F',“{print$1”“$3>”New.csv”}文件。csv
@Aryh:Plesae更新你的问题,这样我们就可以看到你的文件是什么样子了。只是在评论中提到,你的帖子中的每个空格都是逗号,这让人困惑而不是有用。
awk -F',' -v OFS=, '{print $1,$3}' file.csv > New.csv