我正在从txt文件中读取文本,我必须从电子邮件中创建用户名。电子邮件地址位于单个变量中。用户名必须是用户名的第一个字母及其整个姓氏。例如,joe.bloggs@gmail.com的用户名是“jbloggs”
如何从名字中选择第一个字母,然后选择整个姓氏,并将它们连接成1个变量?我想我使用cut方法,但我不确定该怎么做。
由于
答案 0 :(得分:3)
mailbox=${EMAIL%@*}
echo ${mailbox:0:1}${mailbox#*.}
第一行删除域。第二个抓取初始值,然后删除整个名字以留下最后一个。
答案 1 :(得分:1)
echo "joe.bloggs@gmail.com" |sed -r 's/(^.).*\.(.*)@.*/\1\2/g'
jbloggs
说明:
这里,第一个字符在第一个()
中捕获,而姓氏在第二个()
中捕获。之后他们被称为\1
和\2
。检查反向引用。