Solved

How to add unique folder name to a array in Bash

Posted on 2014-01-27
2
411 Views
Last Modified: 2014-02-01
Following is the details of my program:
containsElement: function which will decide if the 2nd arg contains the 1st arg or not

#!/bin/bash
containsElement () {
  local e
  for e in "${@:2}"; do [[ "$e" == "$1" ]] && return 0; done
  return 1
}

    CL_HOME=${CL_HOME:=/var/lib/data/omfs/certvs/crls/current/crl}
       ARRAY=()
        for i in `find ${CL_HOME} -iname "*.crl"`
          do
            mydir=`dirname $i`
            containsElement "${mydir}" "${Array[@]}"
            if [ $? -eq 1 ]; then
                ARRAY+=("${Array[@]}" "{mydir}")
            fi
        done

        for mydir in `echo ${Unix[@]}`
        do
        #do something with teh variable $mydir
             echo ${mydir}
        done
But all the folders are getting added and i am left with a array with duplicate entries.
0
Comment
Question by:pvinodp
2 Comments
 
LVL 84

Accepted Solution

by:
ozo earned 500 total points
ID: 39811967
ARRAY=(`for i in ${ARRAY[@]} ; do echo $i ; done | sort -u`)
0
 

Author Closing Comment

by:pvinodp
ID: 39827307
thats a crisp solution.
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Over the last ten+ years I have seen Linux configuration tools come and go. In the early days there was the tried-and-true, all-powerful linuxconf that many thought would remain the one and only Linux configuration tool until the end of times. Well,…
Background Still having to process all these year-end "csv" files received from all these sources (including Government entities), sometimes we have the need to examine the contents due to data error, etc... As a "Unix" shop, our only readily …
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now