文件列表去重

#!/bin/bash

# 定义一个数组来存储提取的数字
numbers=()

# 遍历当前目录下的所有.sql文件
path="/database/mysql/dml/hello/module/1.3.0"
file_array=( $(find "$path" -follow -type f -name "*.sql" -not -name "10-*.sql" -not -name "90-*.sql" -print | sort -V) )
# 使用 for 循环遍历数组
for file in "${file_array[@]}"; do
echo "当前元素: $file"
number=$(echo "$(basename $file)" | cut -d'-' -f1)
# 将提取的数字添加到数组中
numbers+=("$number")
done

# 去重并排序
unique_sorted_numbers=($(printf "%s\n" "${numbers[@]}" | sort -u -n))

# 输出结果数组
echo "最终结果数组:"
printf "%s\n" "${unique_sorted_numbers[@]}"
posted @ 2025-04-12 12:43  牧之丨  阅读(14)  评论(0)    收藏  举报