Strings únicas no bash [duplicado]

0

Eu tenho uma matriz

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)

Eu preciso obter arquivos exclusivos dessa matriz

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

Basicamente eu preciso deletar seqüências de caracteres duplicadas da matriz

    
por tony 29.08.2016 / 13:57

1 resposta

0

você pode tentar

#!/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[@]}"

saída

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
    
por 29.08.2016 / 14:14

Tags