从bash中的变量中选择字符串和字符

时间:2017-09-22 09:10:11

标签: linux bash unix

我正在从txt文件中读取文本,我必须从电子邮件中创建用户名。电子邮件地址位于单个变量中。用户名必须是用户名的第一个字母及其整个姓氏。例如,joe.bloggs@gmail.com的用户名是“jbloggs”

如何从名字中选择第一个字母,然后选择整个姓氏,并将它们连接成1个变量?我想我使用cut方法,但我不确定该怎么做。

由于

2 个答案:

答案 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。检查反向引用。