You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unix环境下如何将命令输出写入CSV文件的指定列

你可以将原脚本中处理input.csv的sed命令替换为字段重排逻辑即可实现需求,调整后的完整脚本如下:

#!/bin/bash
# 可选:执行前清空原有file.csv,避免多次运行重复追加内容
> file.csv
echo -e "Value,1\nCount,1" >> file.csv
echo "Header1,Header2,Path,Header4,Value,Header6" >> file.csv
# 重排input.csv的字段到指定列
awk '{print ",," $2 ",," $1 ","}' input.csv >> file.csv

逻辑说明

input.csv每行默认按空格分割为两个字段:$1是数值串,$2是路径。输出时按照6列CSV的规则拼接:

  • 前两列留空:以,,开头
  • 第3列填入路径$2
  • 第4列留空:加,,
  • 第5列填入数值串$1
  • 第6列留空:末尾补,

如果你的路径可能包含空格,可使用适配版awk逻辑,避免路径被错误拆分:

awk '{val=$1; sub(/^[^ ]+ /,""); path=$0; print ",," path ",," val ","}' input.csv >> file.csv

你也可以用sed实现同样效果,把原sed行替换为以下内容即可:

sed 's/\([^ ]*\) \(.*\)/,,\2,,\1,/' input.csv >> file.csv

内容的提问来源于stack exchange,提问作者Helium

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:45:04