linux - 在 concat() 中的 csv 中添加换行符

标签 linux bash csv unix xmlstarlet

我有一个如下所示的 xmlstarlet 命令:

xml sel -T-t -m /xml/path -v "concat(name,','value,',')" -n filename.xml > output.csv

输出是这样的

#output.csv
name,value,
name,value,
name,value,

我希望它看起来像

name,name,name,
value,value,value,

我一直专注于在 concat 中尝试不同的组合:

"concat(name,'<p>'value,',')"
"concat(name,'<br />'value,',')"
"concat(name,'"<p>"'value,',')"
"concat(name,'\n'value,',')"

我是不是看错了区域?

我最终采用的方法是在 excel 中使用一个将 8 行转换为列的宏。

最佳答案

好吧,您的 concat 语句显式连接了名称和值。看起来您想要做的是遍历元素两次,首先选择名称,然后选择值。

关于linux - 在 concat() 中的 csv 中添加换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37083605/

相关文章:

linux - 有关 Debian 上附加显示的信息

linux - 如何在 linux 中删除包含 NA 的列

csv - 当其中一个值可能在字符串中包含逗号时处理 .CSV

.net - Linq 的聚合函数,如何制作 CSV 字符串

regex - 如何使用 sed 删除带空格的行?

regex - 无法使用 sed 或 grep 提取捕获组

c++ - 如何在 armLinux 中为多播设置默认 HopLimit 值?

bash - 为什么这个模式匹配 `ab` ,而不是 `ba` ?

bash - 从不同目录复制特定文件而不更改文件扩展名

delphi - TStringList 拆分错误