How awk will do that
--- INPUT FILE -----
server1
/filesystem1
/filesystem2
/filesystem3
server2
/filesystemA
/filesystem2
server3
/filesystem1
/filesystem8
/filesystem9
--- INPUT FILE ENDS --
--- REQUIRED OUTPUT FILE---
/filesystem1 server1
/filesystem2 server1
/filesystem3 server1
/filesystemA server2
/filesystem2 server2
/filesystem1 server3
/filesystem8 server3
/filesystem9 server3
--- REQUIRED OUTPUT FILE ENDS --
Keep in mind that, there are different number of filesystem lines under
each server (some have 2, some 3 and so on). Can someone suggest?
thanks
Re: How awk will do that
nasir wrote:
> --- INPUT FILE -----
> server1
> /filesystem1
> /filesystem2
> /filesystem3
>
> server2
> /filesystemA
> /filesystem2
>
> server3
> /filesystem1
> /filesystem8
> /filesystem9
> --- INPUT FILE ENDS --
>
> --- REQUIRED OUTPUT FILE---
> /filesystem1 server1
> /filesystem2 server1
> /filesystem3 server1
>
> /filesystemA server2
> /filesystem2 server2
>
> /filesystem1 server3
> /filesystem8 server3
> /filesystem9 server3
> --- REQUIRED OUTPUT FILE ENDS --
>
> Keep in mind that, there are different number of filesystem lines under
> each server (some have 2, some 3 and so on). Can someone suggest?
already answered in comp.lang.awk
Ed.
Re: How awk will do that
Awk:
/^\// {print $0,s;next}
!NF
{s=$1}
Re: How awk will do that
On 19 Jul 2005 13:55:19 -0700, nasir
<nasir.kamal [at] gmail.com> wrote:
> --- INPUT FILE -----
> server1
> /filesystem1
> /filesystem2
> /filesystem3
>
> server2
> /filesystemA
> /filesystem2
>
> server3
> /filesystem1
> /filesystem8
> /filesystem9
> --- INPUT FILE ENDS --
>
> --- REQUIRED OUTPUT FILE---
> /filesystem1 server1
> /filesystem2 server1
> /filesystem3 server1
>
> /filesystemA server2
> /filesystem2 server2
>
> /filesystem1 server3
> /filesystem8 server3
> /filesystem9 server3
> --- REQUIRED OUTPUT FILE ENDS --
>
> Keep in mind that, there are different number of filesystem lines under
> each server (some have 2, some 3 and so on). Can someone suggest?
>
> thanks
>
awk '!/^\//{servername=$0; next} {print $0,servername}' input > output
--
Tonight you will pay the wages of sin; Don't forget to leave a tip.
Re: How awk will do that
Bill Marcum wrote:
> awk '!/^\//{servername=$0; next} {print $0,servername}' input > output
awk '/^\//{print; next} {ORS=FS $1 RS}' input >output
Both of these solutions omit the empty lines, but that may
be unimportant.
Re: How awk will do that
On 19 Jul 2005 15:01:12 -0700, William James wrote:
> Awk:
>
> /^\// {print $0,s;next}
> !NF
> {s=$1}
Awk! to you, too.
Just _what_ are you nattering on about?
Oh, I see the problem:
X-Trace: posting.google.com