GMDCOM.27936 [Tue Oct 1 13:32:40 2013]: Process Request <36812974>
GMDCOM.27936 [Tue Oct 1 13:37:38 2013]: Process Request <36812985>
GMDCOM.27936 [Tue Oct 1 13:37:53 2013]: Process Request <36812986>
GMDCOM.27936 [Tue Oct 1 13:37:54 2013]: Process Request <36812987>
GMDCOM.27936 [Tue Oct 1 13:37:57 2013]: Process Request <36812996>
GMDCOM.27936 [Tue Oct 1 13:38:06 2013]: Process Request <36812998>
GMDCOM.27936 [Tue Oct 1 13:38:14 2013]: Process Request <36813001>
GMDCOM.27936 [Tue Oct 1 13:38:20 2013]: Process Request <36813004>
GMDCOM.27936 [Tue Oct 1 13:38:27 2013]: Process Request <36813007>
GMDCOM.27936 [Tue Oct 1 13:38:29 2013]: Process Request <36813009>
Output file should be in the below format.
36812974 [Tue Oct 1 13:32:40 2013]
36812985 [Tue Oct 1 13:37:38 2013]
36812986 [Tue Oct 1 13:37:53 2013]
and it continues till the end of the file and displays all the records in the above format.
I suggest you read the man page of the cut command. Field separator is per default a single blank, but you can specify any other character with the -d '<character>' option.
It uses any of the character "[" "]" "<" or ">" as field separators (specified by the -F command line option). It then prints field 4 and field 2, the second embedded in "[" and " ]".
Why only for GMDCOM.27936? What happens when there are records with something else in field 1? The . should be escaped: \. . The global flag (g) is not necessary
s/\://g;s/\<//g;s/\>//g
These characters do not need a "\" . You can put this in one statement like so:
s/[:<>]//g
awk '{print$8" "$1" "$2" "$3" "$4" "$5}'
Since the default OFS is a single space, you can use , instead: