sorting output

hi,

I get an output like

uid=user1
gecos=user

uid=user2
gecos=admin

gecos=sol admin
uid=user3

uid=user4
gecos=sol, admin

and need it modified to:

uid=user1
gecos=user

uid=user2
gecos=admin

uid=user3
gecos=sol admin

uid=user4
gecos=sol, admin

the file has about 180 lines and ~4 paragraphs are not in correct order

thanks alot in advance :slight_smile:

funksen

$ cat datafile
uid=user1
gecos=user

uid=user2
gecos=admin

gecos=sol admin
uid=user3

uid=user4
gecos=sol, admin

$ cat scr
#! /usr/bin/ksh

awk  '  /^uid/ { u=$0 }
        /^gecos/ { g=$0 }
        /^$/  { print ; print u ; print g }'
$ ./scr < datafile

uid=user1
gecos=user

uid=user2
gecos=admin

uid=user3
gecos=sol admin

uid=user4
gecos=sol, admin
$
sed "/^gecos/{N;s/\(.*\)\n\(uid=.*\)/\2\\
\1/;}" file

great job, both are working perfectly

many thanks

cheers funksen