我需要在脚本中接受电子邮件 ID 和全名,如果未提供全名,我需要从电子邮件 ID 生成名称。像这样的东西:
Case 1:
EmailID: user.name@domainname.com
Full Name: User Name
Case 2:
EmailID: user.name2@domainname.com
Full Name: User Name2
Case 3:
EmailID: this.is.a.very.long.email.id@domainname.com
Full Name: This Is A Very Long Email Id
Run Code Online (Sandbox Code Playgroud)
这我已经能够使用以下步骤实现:
EMAIL_ADDRESS="$1"
ID=(`echo $EMAIL_ADDRESS | cut -d'@' -f1| tr '.' ' '`)
NEW_ID=()
NUM=0
for IN_VAL in ${ID[@]}
do
NEW_ID[$NUM]="`echo ${IN_VAL^}`"
NUM=$((++NUM))
done
echo "${NEW_ID[@]}"
Run Code Online (Sandbox Code Playgroud)
我在 BASH 版本 4.1.2
我认为必须有更好的方法来实现这一目标。此外,我已经看到了一个问题,因为我假设字段分隔符将是点 (.) 字符,而不是像下划线 (_) 或连字符 (-) 或其他任何东西。如果有更好的方法来做到这一点,请告诉我。谢谢。
bash ×1