从列中拆分数据

从列中拆分数据

因此,目前我有一些输入的电子邮件地址,并且想将别名和域分开,然后将它们复制到行尾。例如,从具有 的行中[email protected]:blah:blah,我想要具有[email protected]:blah:blah:something:test.com

我想我可以根据@分隔符进行剪切以输出所有别名的列表,然后输出所有域的列表,但我不知道如何将它们一一添加到现有行中。有想法吗?

答案1

这是启动该线程的有点笨拙的方法

% x="[email protected]:blah:blah" 
% first=$(echo $x|cut -d "@" -f 1)
% second=$(echo $x|cut -d "@" -f 2|cut -d ":" -f 1)
% echo "$x:$first:$second" 

[email protected]:blah:blah:something:test.com

答案2

$ echo '[email protected]:blah:blah' |
    perl -lne '
        @F = split /(\@|\.|:)/, $_;
        print "$_:$F[0]:$F[2].$F[4]."
    ' 
[email protected]:blah:blah:something:test.com.

相关内容