shell 脚本 自定义 字符串排序

该文章介绍了一个自定义排序函数,用于对包含core,base,so的数组进行特定顺序排序。函数首先将这些关键词添加特殊前缀以确保它们在排序中的位置,然后进行排序操作,最后移除前缀,恢复原始元素,实现自定义顺序的排序功能。
摘要由CSDN通过智能技术生成

自定义排序函数

# a是数组,fs是排序后的数组
# 包含core的排第一,base第二,so

custom_sort() {
     case "$1" in
         *core* ) echo "1_$1" ;;
         *base* ) echo "2_$1" ;;
         *so* ) echo "3_$1" ;;
         * ) echo "4_$1" ;; # 其他情况,保留原顺序
     esac
 }

 # 在字符串加上前缀
 for element in "${a[@]}"; do
     fs+=("$(custom_sort "$element")")
 done
# 在字符串前缀排序
 fs=($(printf "%s\n" "${fs[@]}" | sort ))
 #删除前缀
 fs=("${fs[@]#*_}")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值