In this HackerRank Sed command #4 problem solution we have given n lines of credit card numbers, mask the first 1 digits of each credit card number with an asterisk (i.e., *) and print the masked card number on a new line. Each credit card number consists of four space-separated groups of four digits. For example, the credit card number 1234 5678 9101 1234 would be masked and printed as **** **** **** 1234.

Input Format

Each line contains a credit card number in the form dddd dddd dddd dddd, where d denotes a decimal digit (i.e., 0 through 9). There are a total of n lines of credit card numbers.


1 <= n <= 20; note that the value of n does not matter when writing your command.

Output Format

For each credit card number, print its masked version on a new line.

HackerRank Sed command #4 problem solution

Problem solution.

sed -e s/'\([0-9]\{4\}\) \([0-9]\{4\}\) \([0-9]\{4\}\) \([0-9]\{4\}\)/**** **** **** \4/'

Second solution.

sed -e 's/[0-9]\+ [0-9]\+ [0-9]\+ \([0-9]\+\)/**** **** **** \1/'

Third solution.

sed -E 's/[0-9][0-9][0-9][0-9] /**** /g'

Fourth solution.

sed -r 's/([0-9]{4}\s){3}([0-9]{4})/**** **** **** \2/'