Re: Changes in file (huge problem)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mário Gamito wrote:

> I have this file in the following format:
> 
> tarta 16340309 marsanpin brigittamario@xxxxxx
> lms doom123 Luis Miguel Sequeira lms@xxxxxx
> jura teste Juraci jgweb@xxxxxxxxxx
> jsilva t00lt0ya5 Jorge Silva jsilva@xxxxxxx
> tchock  mail#4829 tchock  engDias@xxxxxx
> reporterx noname Duarte Oliveira mtbf99@xxxxxxx
> erkulix brunoverab4 Bruno Cruz
> 
> First field is a username;
> Second field is a password in clear text;
> *Last field is the email;
> The field between is the name.
> 
> As you can see, some lines don't have the name, and names have an unknow 
> number of words.
> Some lines don't have the e-mail.
> 
> What i need is:

> Substitute spaces for ":", *except* of course the spaces within the name.

#!/usr/bin/sed -f
s/^\([^ ]\+\) \+\([^ ]\+\) \+\(.\+\) \+\([^ @]\+@[^ @]\+\) *$/\1:\2:\3:\4/
s/^\([^ ]\+\) \+\([^ ]\+\) \+\([^ @]\+@[^ @]\+\) *$/\1:\2::\3/
s/^\([^ ]\+\) \+\([^ ]\+\) \+\(.\+\) *$/\1:\2:\3:/

-- 
Glynn Clements <glynn@xxxxxxxxxxxxxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-admin" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Newbie]     [Audio]     [Hams]     [Kernel Newbies]     [Util Linux NG]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Device Drivers]     [Samba]     [Video 4 Linux]     [Git]     [Fedora Users]

  Powered by Linux