使用shell向逗号分隔的值添加额外字符串

使用shell向逗号分隔的值添加额外字符串,shell,Shell,请使用shell脚本帮助执行以下语句 下面是我的输入 a=abc,def,ghi 我的输出应如下所示 a=h.abc,h.def,h.ghi 如何在shell脚本中实现这一点请帮助使用 export IFS="," words="abc,def,ghi" for word in $words; do echo "h.$word" done 如果要在同一行中打印输出,请使用echo-n我不会导出IFS。在这种情况下,这没有什么害处,但一般来说,这太危险了,

请使用
shell
脚本帮助执行以下语句

下面是我的输入

a=abc,def,ghi
我的输出应如下所示

a=h.abc,h.def,h.ghi
如何在shell脚本中实现这一点请帮助使用

export IFS=","
    words="abc,def,ghi"
    for word in $words; do
      echo "h.$word"
    done

如果要在同一行中打印输出,请使用echo-n

我不会导出IFS。在这种情况下,这没有什么害处,但一般来说,这太危险了,因为可能的子进程会看到更改的值。此外,IFS应该在以后设置回原始值。@NaveenSrikanth:虽然Java概述的方法基本上是有效的,但如果输入包含带引号的字符串,例如,如果您有
a=abc,“de,ef”,ghi
,它就会中断。通常,我建议使用真正的CSV解析器解析CSV文件。它更安全。我的输出是h。这是为什么?。Hiw我可以过多渲染吗?您需要像h.abc rt这样的输出吗?是的,我需要像h.abc、h.def、h.ghi这样的输出,输出将转到下一行