![从列中拆分数据](https://linux22.com/image/50339/%E4%BB%8E%E5%88%97%E4%B8%AD%E6%8B%86%E5%88%86%E6%95%B0%E6%8D%AE.png)
因此,目前我有一些输入的电子邮件地址,并且想将别名和域分开,然后将它们复制到行尾。例如,从具有 的行中[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.