diff options
| -rw-r--r-- | challenge-110/abigail/README.md | 1 | ||||
| -rw-r--r-- | challenge-110/abigail/bash/ch-1.sh | 25 |
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-110/abigail/README.md b/challenge-110/abigail/README.md index 6e98908e45..051aef0d33 100644 --- a/challenge-110/abigail/README.md +++ b/challenge-110/abigail/README.md @@ -42,6 +42,7 @@ can completly ignore any white space in the input. ### Solutions [AWK](awk/ch-1.awk) +[Bash](bash/ch-1.sh) [Perl](perl/ch-1.pl) ### Blog diff --git a/challenge-110/abigail/bash/ch-1.sh b/challenge-110/abigail/bash/ch-1.sh new file mode 100644 index 0000000000..8038708208 --- /dev/null +++ b/challenge-110/abigail/bash/ch-1.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +# +# See ../README.md +# + +# +# Run as: bash ch-1.sh < input-file +# + +set -f + +IFS="" # This way, we keep the spaces as is. + +valid="[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" + +while read line +do raw=${line// } # Remove spaces + raw=${raw/#+/00} # Replace leading + with 00 + raw=${raw/#([0-9][0-9])/0000} # Replace leading (NN) with 0000 + left=${raw/$valid} # Remove 14 digits + if [ "X$left" == "X" ] # If nothing left, the input is valid + then echo $line # Print it + fi +done |
