我有一个数组
array=(src/ucode/pkgs/get_ch.c qa/tests/ucode/chktest.pl src/ucode/pkgs/get_ch.c src/profile/settings.txt src/ucode/pkgs/main_pf.c src/ucode/pkgs/get_ch.c src/ucode/pkgs/main_ch.c src/ucode/pkgs/main_pf.c)
我需要从该数组中获取唯一的文件
src/ucode/pkgs/get_ch.c qa/tests/ucode/chktest.pl src/profile/settings.txt src/ucode/pkgs/main_pf.c src/ucode/pkgs/main_ch.c
基本上我需要从数组中删除重复的字符串
答案1
你可以尝试
#!/bin/bash
array=(src/ucode/pkgs/get_ch.c
qa/tests/ucode/chktest.pl
src/ucode/pkgs/get_ch.c
src/profile/settings.txt
src/ucode/pkgs/main_pf.c
src/ucode/pkgs/get_ch.c
src/ucode/pkgs/main_ch.c
src/ucode/pkgs/main_pf.c)
sorted_array=( $(printf "%s\n" "${array[@]}" | sort | uniq) )
# dump the sorted array to check its contents
printf "%s\n" "${sorted_array[@]}"
输出
qa/tests/ucode/chktest.pl
src/profile/settings.txt
src/ucode/pkgs/get_ch.c
src/ucode/pkgs/main_ch.c
src/ucode/pkgs/main_pf.c