Sponsored Content
Top Forums Shell Programming and Scripting Removing duplicate items from an array Post 303007381 by mukulverma2408 on Wednesday 15th of November 2017 10:29:20 PM
Old 11-15-2017
Removing duplicate items from an array

Hello Experts,

I am trying to write a shell script to find duplicate items in an array, this is what i have tried :
Code:
#!/bin/bash
echo "This is another sample Progg to remove duplicate items from an array"
echo "How many number do you want to insert"
read n
for (( i=0; i<$n; i++ ))
do
   echo "Enter Number"
   read num
   arr[i]=$num
done
 echo "Insertion is done, Below are the element of the array"
 echo ${arr[@]}

for (( i=0; i<$n; i++ ))
do
    echo "------------i here is ${arr[i]}-------" 
    for (( j=0; j<$n; j++ ))
  do
       echo "j here is ${arr[j]}"
      if [[ $i -eq $j ]]
        then
           echo "Skip this iteration"
            continue
        else
           if [[ arr[i] -eq arr[j] ]]
             then
                 echo "There is a duplicate!!"
                 arr=(${arr[@]:0:$j} ${arr[@]:(( $j+1))})
                 break
           fi
      fi
  done
done
echo ${arr[@]}

The script is working properly and removing the duplicate element as expected, the problem is since i am using a counter (variable n) equivalent to number of items in array to loop, the number of iteration is always constant even though I am popping out the duplicate element as soon as it is encountered.

Any help on how to optimise the script to remove the iteration that are not required?
 

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

removing duplicate lines from a file

Hi, I am trying to remove duplicate lines from a file. For example the contents of example.txt is: this is a test 2342 this is a test 34343 this is a test 43434 and i want to remove the "this is a test" lines only and end up with the numbers in the file, that is, end up with: 2342... (4 Replies)
Discussion started by: ocelot
4 Replies

2. Shell Programming and Scripting

removing items with repeated first 3 character

AWK help: I have a file with following format. I need to remove any entries which are repeated based on first 3 characters. So from the following files I need to remove any entries start with "mas". mas01bct mas02bct mas03bct mas01bct mas01bct mas01bct mas11bct mas01bct mas01bct... (11 Replies)
Discussion started by: amir07
11 Replies

3. Shell Programming and Scripting

removing items from a file with batch

Please assist with awk scirpts: I need to remove items from a file in a batch: The file that I will remove from has the following format: abc00tef:10.81.12.3 abc01tef:10.81.12.3 abc02tef:10.81.12.3 abc03tef:10.81.12.3 abc04tef:10.81.12.3 abc05tef:10.81.12.3 I have a file which... (5 Replies)
Discussion started by: amir07
5 Replies

4. Programming

Removing Items In A ListView

Hi everyone! So I have a listView on my Form named "officeView" I already have the code to add and update info into it, but Im having troubles deleting items out of it. :/ Now I know how to delete an Item from the listView, but I want the item before the deleted item to become automatically... (0 Replies)
Discussion started by: romeo5577
0 Replies

5. Shell Programming and Scripting

Removing Duplicate Variables : SED?

I have a file that needs to index and remove all duplicate variables (keeping the first of the duplicated). Then in another file, from the index I need to find and replace all those duplicated variables we deleted with their primary variable (the one we kept). I think this is a SED question, but if... (13 Replies)
Discussion started by: Blue Solo
13 Replies

6. Shell Programming and Scripting

Add items to ksh array

Hi I need a code help put below items in to array and display in order like this Thanks, Ashan 0AD4 R2 03A1 000198701333 0AD4 R1 270B 000198701616 ------ 0AD4 R2 03A1 000198701333 0AD4 R1 270B 000198701616 (1 Reply)
Discussion started by: ashanabey
1 Replies

7. Shell Programming and Scripting

sed to delete items in an array from a file

I need to create a shell script to delete multiple items (Strings) at a time from a file. I need to iterate through a list of strings. My plan is to create an array and then iterate through the array. My code is not working #!/bin/bash -x declare -a array=(one, two, three, four)... (5 Replies)
Discussion started by: bash_in_my_head
5 Replies

8. Shell Programming and Scripting

Pass an array to awk to sequentially look for a list of items in a file

Hello, I need to collect some statistical results from a series of files that are being generated by other software. The files are tab delimited. There are 4 different sets of statistics in each file where there is a line indicating what the statistic set is, followed by 5 lines of values. It... (8 Replies)
Discussion started by: LMHmedchem
8 Replies
items(3MENU)															      items(3MENU)

NAME
items - make and break connections between items and menus SYNOPSIS
#include <menu.h> int set_menu_items(MENU *menu, ITEM **items); ITEM **menu_items(const MENU *menu); int item_count(const MENU *menu); DESCRIPTION
The function set_menu_items changes the item pointer array of the given menu. The array must be terminated by a NULL. The function menu_items returns the item array of the given menu. The function item_count returns the count of items in menu. RETURN VALUES
The function menu_items returns a pointer (which may be NULL). It does not set errno. The function item_count returns ERR (the general curses error return value) if its menu parameter is NULL. The function set_menu_items returns one of the following codes on error: E_OK The routine succeeded. E_BAD_ARGUMENT Routine detected an incorrect or out-of-range argument. E_NOT_CONNECTED No items are connected to the menu. E_POSTED The menu is already posted. E_SYSTEM_ERROR System error occurred (see errno). SEE ALSO
ncurses(3NCURSES), menu(3MENU). NOTES
The header file <menu.h> automatically includes the header file <curses.h>. PORTABILITY
These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. The SVr4 menu library documentation specifies the item_count error value as -1 (which is the value of ERR). AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S. Raymond. items(3MENU)
All times are GMT -4. The time now is 03:43 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy