如何在csv文件的不同列中打印Shell脚本的输出

时间:2018-07-09 14:30:21

标签: bash shell csv

我写了一个shell脚本,想在csv文件中打印5个已定义变量的输出,我正在使用一个条件,如果条件1成功,则输出应该在前5列中打印,否则输出应该在接下来的5列中,例如下方:

if condition 1 success

$DAY,$ModName,$Version,$END_TIME,$START_TIME

(应在csv的第1..5列中打印)

if condition 2 success

$DAY,$ModName,$Version,$END_TIME,$START_TIME

(应在csv的列号6..10中打印)

但是使用我的代码输出总是会追加到下一行

下面是我的代码:

if [ "$Version" = linux ] 
then 
echo "$DAY","$ModName","$Version","$END_TIME","$START_TIME" | awk -F "\"*,\"*" '{print $a ","}' >> output.csv;
else 
echo "$DAY","$ModName","$Version","$END_TIME","$START_TIME" | awk -F "\"*,\"*" '{print $b}' >> output.csv; 
fi

除此代码外,我尝试了n件事,但找不到解决方法。

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

chmod +x /home/sdiuser/Build-Release/maven_artifactid是指输入字段,而不是输出。
当您要以5个空字段开始时,只需将其打印(避免使用{print $6, $7, $8, $9, $10}

\n

(下次请使用小写变量名)

当变量可以带有','时,您可能需要在双引号中给出值。