Bash 在变量或数组的每三个字段后面插入一个逗号 (,)?
我有一个包含以下内容的变量:“abcdefghijk l”
,您如何在每个第三个成员后面添加一个逗号符号(,),使其看起来像这样:“abc,def ,ghi,jk l”
。
最初我所有的变量数据都存储在一个数组中,所以如果有人知道如何直接操作该数组,那就太好了。
提前致谢
I have a variable with the following contents: "a b c d e f g h i j k l"
, how would you go about adding a comma sign (,) after each third member so it looks like this: "a b c, d e f, g h i, j k l"
.
Initially all my variable data is stored in an array so if anyone knows how to directly manipulate the array, it would be great.
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
awk
awk
在 Bash 中:
结果:
如果您不介意最后一个元素也有逗号,则可以更直接地使用索引(省略设置
$ind
的行):如果您不担心关于数组稀疏:
这与 Ghostdog74 的答案基本相同,只是 Bash 数组是从零开始的,而 awk 字段是从一开始的。
In Bash:
Results in:
If you don't mind the last element also having a comma, you can use the indices more directly (omit the lines that set
$ind
):If you're not worried about the array being sparse:
which is basically the same as ghostdog74's answer except that Bash arrays are zero-based and awk fields are one-based.
或者:
Or:
这可能对你有用:
This might work for you: