Linux 需要在行和列中分离shell命令输出

Linux 需要在行和列中分离shell命令输出,linux,shell,unix,csv,scripting,Linux,Shell,Unix,Csv,Scripting,我有下面的脚本,这是完美的工作为我好。我面临的唯一问题是输出是.csv格式,但当我在excel中下载这些.csv文件时,我只能看到一行中的所有数据 请任何人帮我更正更改,如果我可以这样做,那么即使我在excel中打开,也可以看到输出,它应该显示在行和列中 #!/bin/sh ipath=/usr/local/nextone/bin date=$(date +"%Y%m%d%H%M") ifile="$(date '+/var/tmp/EndpointUsage_%I-%M-%p_%d-%m-%

我有下面的脚本,这是完美的工作为我好。我面临的唯一问题是输出是.csv格式,但当我在excel中下载这些.csv文件时,我只能看到一行中的所有数据

请任何人帮我更正更改,如果我可以这样做,那么即使我在excel中打开,也可以看到输出,它应该显示在行和列中

#!/bin/sh

ipath=/usr/local/nextone/bin
date=$(date +"%Y%m%d%H%M")
ifile="$(date '+/var/tmp/EndpointUsage_%I-%M-%p_%d-%m-%Y.csv')"
"$ipath"/cli iedge list | awk '
BEGIN { print "|-----------------|------------------|";
printf "|%-17s|%-16s|\r\n","Registration ID", "Ongoing Calls"
}
/Registration ID/ { id = $3; next }
/Ongoing Calls/ {print "|-------------------|-----------------|"; printf          
"|%-17s|%-16s|\r\n",id,$3 }
END{
print "|------------------|------------------|";
}'>> "$ifile"
我可以看到服务器上的输出,如下所示,这在CLI上非常正常,但当我在excel中打开这些文件时,所有内容都显示在一行中

------------------------------------ |Registration ID |Ongoing Calls | ------------------------------------ |NITIN_03|30 | ------------------------------------ |NITIN_01|0 | ------------------------------------
提前感谢。

使用功能区上的“数据”选项卡,单击“文本到列”,然后按照向导操作。选择“|”作为字段分隔符。祝你好运。@你能建议在脚本中把这个放在哪里吗?我觉得脚本看起来不错。也许你想让分隔线看起来像|---------------|。也许您需要将打印语句中的所有引用\n改为\r\n`。这将使您的文件更加Windows友好,但我不记得在我所从事的项目中曾经这样做过。因此,我认为最有可能的问题与上面提到的“文本到列”功能有关。你试过我推荐的吗?也许你必须用excel中的小屏幕截图更新你的问题,以显示你的具体问题。祝你好运。@我试过你推荐的分离器,但没有改变任何东西。请在添加分隔符后检查脚本。@还有您先前建议的“文本到列”的内容,这是Excel的功能,我不想要。我想要脚本可以执行的数据。使用功能区上的“数据”选项卡,单击“文本到列”,然后按照向导操作。选择“|”作为字段分隔符。祝你好运。@你能建议在脚本中把这个放在哪里吗?我觉得脚本看起来不错。也许你想让分隔线看起来像|---------------|。也许您需要将打印语句中的所有引用\n改为\r\n`。这将使您的文件更加Windows友好,但我不记得在我所从事的项目中曾经这样做过。因此,我认为最有可能的问题与上面提到的“文本到列”功能有关。你试过我推荐的吗?也许你必须用excel中的小屏幕截图更新你的问题,以显示你的具体问题。祝你好运。@我试过你推荐的分离器,但没有改变任何东西。请检查添加分隔符后的脚本。@还有您之前建议的在文本中转到列的内容,这是Excel的功能,我不希望那样..我希望得到脚本可以执行的数据。