Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash中解析带有两个分隔符的不规则csv文件_Bash_Parsing_Csv_Awk_Delimiter - Fatal编程技术网

在bash中解析带有两个分隔符的不规则csv文件

在bash中解析带有两个分隔符的不规则csv文件,bash,parsing,csv,awk,delimiter,Bash,Parsing,Csv,Awk,Delimiter,全部, 我想用下面这行代码解析一个csv文件 00000000-0000-0265-2510-017132647704,5690OD64_0W24zjsK-5GLmwjntrVyLDZhrmS,1,11/1/2014 7:29:02 AM,23435830,11179745,868,360655,69844,64637,43755,,,122.111.9.107,36,28389,-1,11677,3166,,0,11,,Apple iPad,,-1,-1,MM_CLD_Standard_Age

全部,

我想用下面这行代码解析一个csv文件

00000000-0000-0265-2510-017132647704,5690OD64_0W24zjsK-5GLmwjntrVyLDZhrmS,1,11/1/2014 7:29:02 AM,23435830,11179745,868,360655,69844,64637,43755,,,122.111.9.107,36,28389,-1,11677,3166,,0,11,,Apple iPad,,-1,-1,MM_CLD_Standard_Agency_43755_Daily_141101_00.csv
我需要使用两个分隔符来解析文件

"," & "_"
下划线出现在第二列和最后一列。目前,我使用awk解析文件,如下所示,但正如您所注意到的,col2中出现的下划线会导致不希望解析文件。我想知道如何在col2中转义下划线,以便我从最后一列中拉出的字符串不受影响

awk -F "," 'BEGIN {OFS=","} {$23="";print $4,$3,$2,$6,FILENAME}' $i|tail -n +2|awk -F ",|_" 'BEGIN {OFS=","} {print $1,$2,$3,$4,$10}'
所需的输出如下所示

11/1/2014 7:29:02 AM,1,5690OD64_0W24zjsK-5GLmwjntrVyLDZhrmS,11179745,141101

非常感谢,

您的预期输出是什么?不要通过
FS
在这两个方面进行拆分。在
上通过
FS
进行拆分,并在需要拆分的两个字段上手动使用
Split
。时间
7:29:54
?@EtanReisner,请引用一个示例。请重试并保持简单。您不需要一行包含30个字段(或其他任何字段)来描述您的问题,一行也不能充分说明问题。只需发布3或4行示例输入,每行包含4或5个字段,用于演示您的问题以及该输入的相关预期输出。你越容易让我们帮助你,我们就越有可能这样做。
awk -F, -v OFS=, '{n=split($NF, a, /_/); print $4, $3, $2, $6, a[n-1]}' <<END
x,5690OD64_0W24zjsK-5GLmwjntrVyLDZhrmS,1,11/1/2014 7:29:02 AM,y,11179745,z,...,MM_CLD_Standard_Agency_43755_Daily_141101_00.csv
END
11/1/2014 7:29:02 AM,1,5690OD64_0W24zjsK-5GLmwjntrVyLDZhrmS,11179745,141101