Hi List, *[1] *I have text file called *bar.txt* that contains the following information and i'm trying to use awk to format the output into a single file separated by semicolon (;).
*<USER username="admin" administrator="yes" authentication_type="Local" all_changes="yes" error="yes" id="[email protected]" fullname="FirstName LastName" global_customisation="yes"*> *[2]* My target output is something similar below *username="admin";administrator="yes";authentication_type="Local";fullname="FirstName LastName"* *[3]* I've created the below awk script called *foo.awk* and used it against the text file I mentioned in *[1]* (e.g *cat bar.txt | awk -f foo.awk*) { *{ for ( i = 1 ; i <= NF ; i++ )* * if ( $i ~ /username\=\"[a-zA-Z]*\"/ ) username = i* * else if ( $i ~ /administrator\=\"[a-zA-Z]*\"/ ) administrator = i* * else if ( $i ~ /authentication_type\=\"[a-zA-Z]*\"/ ) authentication_type = i* * else if ( $i ~ /fullname\=\"[a-zA-Z]*[[:space:]]*[a-zA-Z]*\"/ ) fullname = i* * * * }* *}* *{ print $username";"$administrator";"$authentication_type";"$fullname }* But for some reason, this awk script doesn't provide me the output I want, instead it displays all the contents of the text file. I'm sure it's because if the "*fullname*" field having a "space" in between. I have tried removing first the "*fullname*" in my awk script and the output returns the format I want. Any idea on how to process this to include the "*fullname*" field using awk? -- Keyboard error, press F1 to continue
_________________________________________________ Philippine Linux Users' Group (PLUG) Mailing List http://lists.linux.org.ph/mailman/listinfo/plug Searchable Archives: http://archives.free.net.ph

