如何在 linux bash shell 中对字符串数组进行排序?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/30881346/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-18 13:12:40 来源:igfitidea点击:
How can I sort the string array in linux bash shell?
提问by liam xu
For instance, the array is
例如,数组是
link2_pathname
link1_pathname
link3_pathname
How can I get the array like below.
我怎样才能得到如下所示的数组。
link1_pathname
link2_pathname
link3_pathname
Thanks a lot in advance!
非常感谢!
回答by Marc Bredt
pipe a loop to sort
.
管道循环到sort
.
a=(l2 l3 l1)
b=($(for l in ${a[@]}; do echo $l; done | sort))
you probably need to watch out for the IFS when handling string values containing spaces.
在处理包含空格的字符串值时,您可能需要注意 IFS。
回答by Dan
try this
尝试这个
var=( link2_pathname link1_pathname link3_pathname )
for arr in "${var[@]}"
do
echo $arr
done | sort
new_var=( $(for arr in "${var[@]}"
do
echo $arr
done | sort) )