【发布时间】:2021-11-10 20:56:55
【问题描述】:
我正在尝试将以下代码的输出拆分为两个字段并从 csv 文件的第 3 行插入
#!/bin/bash
cid=`git log -n 1 --pretty=format:"%H"`
git diff-tree --no-commit-id --name-only -r $cid | xargs -I {} echo '\'{} | xargs -I {} md5sum > final.csv
当前输出以单行形式出现(需要分隔成字段)
title,Path
l34sdg232f00b434532196298ecf8427e /path/to/file
sg35s3456f00b204e98324998ecsdf3af /path/to/file
预期输出
final.csv
title,Path
l34sdg232f00b434532196298ecf8427e,/path/to/file
sg35s3456f00b204e98324998ecsdf3af,/path/to/file
我正在考虑将脚本的输出放在第三个文件中,然后使用 awk 逐行读取该文件。不确定这是否是正确的方法。 提前致谢。
【问题讨论】:
-
如果您将管道之前的一些中间输出添加到问题中,那将非常有帮助....
#!/bin/bash; cid=$(git log -n 1 --pretty=format:"%H"); git diff-tree --no-commit-id --name-only -r $cid -
所以....你确定这就是你当前输出的样子吗?如果我对 git 树运行它(从at 固定到格式),我会得到这样的结果:
d41d8cd98f00b204e9800998ecf8427e -在每一行上重复。它看起来不像你的。也就是说:你的 format 不是 CSV,它是固定长度的。 -
@tink 抱歉,我无法通过它传达确切的含义。我试图将 csv 文件展示为一个表格,是的,它会显示 md5 以及文件所在的路径。已经交叉检查了。现在已编辑问题
-
嗯......您修改后的
current output仍然与我运行脚本时看到的相差甚远。 -
请问您看到了什么,我得到了最新提交中包含的所有文件的 md5sum 值,逐行显示