spl*_*cer 6 arrays bash newline pipe
比方说,我有以下数组:
files=( "foo" "bar" "baz fizzle" )
Run Code Online (Sandbox Code Playgroud)
我想通过一个命令来管道这个数组的内容,比如说sort,好像每个元素都在一个文件中的一行.当然,我可以将数组写入临时文件,然后使用临时文件作为输入sort,但我想尽可能避免使用临时文件.
如果"bar fizzle"没有那个空格字符,我可以这样做:
echo ${files[@]} | tr ' ' '\012' | sort
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢!
还有一个解决方案:
printf "%s\n" "${files[@]}" | sort
Run Code Online (Sandbox Code Playgroud)