2014-02-22 23 views

回答

1

通常,无论环境如何,CSV文件都是CSV文件。 CSV仅代表'逗号分隔值'。

关于你的命令,第一部分

sed "s/,/|/g" $csvFile 

需要从变量csvFile的文件名,并与管代替逗号(|)。

第二部分,

awk -F "|" '{ print $1"|"$2"|"$3"|"$4"|"$5"|"}' 

需要输出从“的sed”命令以列和在它们之间的管道打印它们。

第三部分

> dataFile.txt 

放命令的输出到名为dataFile.txt的文本文件。

要调试命令,我们需要查看输入文件数据以及您正在编写的内容。这个命令是多余的,但没有看到你的输入,我们不知道如何让它工作(和改进)。

1

你真的不需要sed这里。您可以直接使用不同字段分隔符的awk:

awk -F ',' '{print $1, $2, $3, $4, $5 OFS}' OFS='|' "$csvFile" > dataFile.txt 
相关问题