awk command to separate a field

I have a log file that I am trying to convert. File contents something like this:

aaaaa bbbbbb cccc dddddd\123 eeeee ffffffff

I am trying to output the fields in a different order and separate field 4 so that the "123" and "dddddd" can be output separately. for example

bbbbbb aaaaa 123 eeeee ffffffff dddddd

The first part of field 3 changes so i cant say print character 1 to 6 of $4 etc.
And I can�t use \ as a second field separator as there are other fields containing \ in it that I want to keep as one field.

I am still new to awk and bash. Can anyone give me any hints?
Cheers.

Maybe ... you may want to

  1. separate the sequence of numbers from it's "lettered counterpart"
[house@leonov] echo "aaaaa bbbbbb cccc dddddd\123 eeeee ffffffff" | sed 's/\([0-9]\{3\}\)/ \1/'
aaaaa bbbbbb cccc dddddd\ 123 eeeee ffffffff
  1. rearange the fields (based on the now common "space" separator)
[house@leonov] echo "aaaaa bbbbbb cccc dddddd\ 123 eeeee ffffffff" | awk -F ' ' 'BEGIN {OFS=" "} { print $2, $1, $5, $6, $7, $4 }'
bbbbbb aaaaa 123 eeeee ffffffff dddddd\

I was hoping for something a bit more complex then that. The log file I am converting has over 10,000 lines. I would have thought awk was advanced enough to have a feature to split a field??

Try...

 
awk '{split($4,ss,"\\"); print $2,$1,ss[2],$5,$6,ss[1]}' infile
awk -F'[ \t]+|\\' '{print $2,$1,$5,$6,$7,$4}' logfile

Thanks Scrutinizer and malcomex999. Both solutions worked great.

Cheers