如何使用 shell 命令从 csv 文件中提取列数据

How to extract column data from csv file using shell command

我有以下 CSV 文件作为输入

sample1 compute.googleapis.com/projects/project_ID1/zones/europe-west2-a test1
sample1 compute.googleapis.com/projects/project_ID2/zones/europe-west2-a test2
sample1 compute.googleapis.com/projects/project_ID3/zones/europe-west2-a test3

如何使用 shell 命令从上述文件的第 2 列提取项目 ID 并将其另存为 CSV,如下所示 在此处输入代码

sample1 project_ID1 test1
sample1 project_ID2 test2
sample1 project_ID3 test3

谢谢 阿吉特

机智 awk:

$ awk -F '[/ ]' '{print , , }' FILE
sample1 project_ID1 test1
sample1 project_ID2 test2
sample1 project_ID3 test3

对上述@Arkadiusz Drabczyk 解决方案稍作修改即可得到逗号分隔数据

代码:

awk -F '[/ ]' '{print  ","  "," }' demo.txt

预期输出:

sample1,project_ID1,test1
sample1,project_ID2,test2
sample1,project_ID3,test3

您可以使用以下命令将上述数据写入新文件

awk -F '[/ ]' '{print  ","  "," }' demo.txt >> demo.csv