如何在BASH中打印出一个数组,并在每个值和最后一个换行符之间使用字段分隔符.
我用单个printf得到的最接近的是printf '%s|' "${arr1[@]}"| 是字段分隔符.这个问题是最后没有换行符.\n我尝试放入其中的任何组合要么在每个条目上都有一个换行符,要么根本没有!
有没有办法在一条线上做或我需要使用 printf '%s|' "${arr1[@]}";printf "\n"
谢谢,
杰兰特
Cha*_*ffy 10
是的,你需要两个命令.printf '%s|' "${array[@]}"; echo完全是传统的.
或者,如果您不想进行尾随|,则可以临时修改IFS以使用所选分隔符作为其第一个字符,并使用"${array[*]}":
IFS="|$IFS"; printf '%s\n' "${array[*]}"; IFS="${IFS:1}"
Run Code Online (Sandbox Code Playgroud)