如何将bash数组变量转换为以换行符分隔的字符串?

非循环

我想将bash数组变量写到文件中,并将每个元素换行。我可以使用for循环来做到这一点,但是还有另一种(更干净的)方式来与元素连接\n吗?

切普纳

这是一种利用bash参数扩展及其IFS特殊变量的方法。

$ System=('s1' 's2' 's3' 's4 4 4')
$ ( IFS=$'\n'; echo "${System[*]}" )

我们使用子外壳程序来避免覆盖IFS当前环境中的值然后,在该子外壳中,修改的值,IFS以使第一个字符为换行符(使用$'...'引号)。最后,我们使用参数扩展将数组的内容打印为单个单词;每个元素由的第一个字符分隔IFS

要捕获到变量:

$ var=$( IFS=$'\n'; echo "${System[*]}" )

如果您的bash足够新(4.2或更高版本),则可以(并且应该)仍然使用printf以下-v选项:

$ printf -v var "%s\n" "${System[@]}"

无论哪种情况,您都可能不需要换行符var删除它:

$ var=${var%?}    # Remove the final character of var

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 map.reduce 将数组转换为换行符分隔的字符串?

如何将多行文件转换为带有换行符的bash字符串?

如何将文件中的行转换为不带换行符的字符串?

如何将字符串转换为具有\ n而不是换行符

将bash数组变量转换为以`.`分隔的字符串。

如何将textarea中的空格或换行符转换为逗号分隔的PHP数组

如何将文本文件转换为json字符串(用“ \ n”替换换行符)

将制表符和换行符分隔的字符串转换为pandas数据框

如何将文本文件读入字符串变量并删除换行符?

如何将文本文件读入字符串变量并删除换行符?

如何将CMake以分号分隔的列表转换为以换行符分隔的列表?

如何将记录的2D数组转换为由定界符分隔的多行记录字符串?

如何将逗号分隔的字符串转换为对象内的分隔数组?

使用空格分隔符将数组类型变量转换为字符串类型

将数字日期字符串 (dd/mm/yyyy) 转换为具有短月份名称的换行符分隔的字符串

如何将使用“ \ r \ n”作为换行符的字符串转换为熊猫数据框

如何用换行符分隔字符串?

如何将字符串转换为另一种方式并检测换行符并写入 vb .net 中的文本文件

将数组转换为字符串,使用分隔符分隔字符串-JavaScript

从JSON数组中删除换行符和引号,并通过bash将特定的字符串设置为变量

如何将嵌套的数组数组转换为逗号分隔的字符串

如何将分隔字符串转换为字典?

如何根据特定的分隔符将字符串转换为数组?

如何将数组连接到字符串并将其添加到带换行符的textarea中?

Python将字符串(带有换行符)转换为HTML

将BitMap转换为没有换行符的字符串?

将列表转换为不带换行符的字符串

将matrix或data.frame转换为带换行符的字符串

PHP如何将\ n转换为换行符