Hey there people on the internet. Here's my solution for **Paste 4** Linux shell challenge from HackerRank. You can find answers to other Linux shell challenges via this link => https://blog.shasec.rocks/post/hackerrank-bash-challs. So let's get started.

# Challenge

There are N integers in an array A. All but one integer occur in pairs. Your task is to find the number that occurs only once.

**> Input Format**

The first line of the input contains an integer N, indicating the number of integers. The next line contains N space-separated integers that form the array A.

**> Constraints**

1 <= N <= 100

N % 2 = 1 (N is an odd number)

**> Output Format**

Output S, the number that occurs only once.

**> Sample Input 1**

```
1
1
```

**> Sample Output 1**

`1`

**> Sample Input 2**

```
3
1 1 2
```

**> Sample Output 2**

`2`

**> Sample Input 3**

```
5
0 0 1 2 1
```

**> Sample Output 3**

`2`

**> Explanation**

In the first input, we see only one element (1) and that element is the answer.

In the second input, we see three elements; 1 occurs at two places and 2 only once. Thus, the answer is 2.

In the third input, we see five elements. 1 and 0 occur twice. The element that occurs only once is 2.

# Solution

```
#/bin/bash
# Create empty Array
arr=()
# Variable to track the index of the array
count=0
# Get user input including the last line of input
while read line || [ -n "$line" ]; do
# Skip the first input. I only want the space separated numbers
if(( $count <= 0 )); then
count=$(( $count+1 ))
continue
fi
# Append to array
arr[$count]=$line
# Increment the count index
count=$(( $count+1 ))
done
# Get only the uniq number/s
echo $(echo -e "${arr[@]}" | tr ' ' '\n' | sort | uniq -u)
```

## 💬 Comment Section 💬