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.