Mask Email

Mask an email address for privacy while keeping it recognizable by showing first and last characters.

Code

Utilities
local_part="${email%@*}"
domain="${email#*@}"
first="${local_part:0:1}"
last="${local_part: -1}"
middle=$(printf '%*s' $((${#local_part}-2)) '' | tr ' ' '*')
echo "${first}${middle}${last}@${domain}"

Parameters

The email address to mask.

Server

More Bash Snippets