Filter an Array with Patterns – HackerRank Solution

In this post, we will solve Filter an Array with Patterns HackerRank Solution. This problem (Filter an Array with Patterns) is a part of Linux Shell series.

Objective

We now transition to some basic examples of bash scripting for the purpose of text processing and data munging. In this challenge, we practice reading and filtering an array.

Task

You are given a list of countries, each on a new line. Your task is to read them into an array and then filter out (remove) all the names containing the letter ‘a‘ or ‘A‘.

Input Format

The input format consists of a list of country names, each on a separate line. The only characters present in the country names will be upper or lower case characters and hyphens.

Output Format

From the given list, remove the names that contain ‘a‘ or ‘A‘ in them. If there are no names left after removing these characters, you should display a blank line.

Sample Input

Namibia
Nauru
Nepal
Netherlands
NewZealand
Nicaragua
Niger
Nigeria
NorthKorea
Norway

Sample Output

Niger

Explanation

Niger is the only name that does not contain an ‘a‘ or ‘A‘.

Solution – Filter an Array with Patterns – HackerRank Solution

# You are given a list of countries, each on a new line. Your task is to read them into an array and then filter out (remove) all the names containing the letter 'a' or 'A'.
arr=($(cat))
echo ${arr[@]/*[aA]*/}

Note: This problem (Filter an Array with Patterns) is generated by HackerRank but the solution is provided by CodingBroz. This tutorial is only for Educational and Learning purpose.

Leave a Comment

Your email address will not be published. Required fields are marked *