Ale*_*yer 10 arrays bash printf echo
我正在将文件类型数据读入一个bash数组,并需要在与空格相同的行上打印它的内容.
#!/bin/bash
filename=$1
declare -a myArray
readarray myArray < $1
echo "${myArray[@]}"
Run Code Online (Sandbox Code Playgroud)
我尝试这甚至与回声-n标志仍然打印在换行,我错过了什么,会更好地工作printf的?
Dar*_*zer 19
简单的一行打印方式
echo "${myArray[*]}"
Run Code Online (Sandbox Code Playgroud)
例:
myArray=(
one
two
three
four
[5]=five
)
echo "${myArray[*]}"
#Result
one two three four five
Run Code Online (Sandbox Code Playgroud)
readarray保留每个数组元素中的尾部换行符.要剥离它们,请使用该-t选项.
readarray -t myArray < "$1"
Run Code Online (Sandbox Code Playgroud)
单程 :
printf '%s\n' "${myArray[@]}" | paste -sd ' '
Run Code Online (Sandbox Code Playgroud)
或者干脆:
printf '%s ' "${myArray[*]}"
Run Code Online (Sandbox Code Playgroud)