Supported in BSD cut but I like your response better than mine.
– fd0Jul 14 '15 at 15:56

1

If it's GNU cut, you get the --complement flag to simplify things: cut --complement -d ' ' -f5. Remember to redirect the output to a new file, then mv it over the original.
– Toby SpeightJul 15 '15 at 10:30

the caveat here is that changing any field's value in awk has the side effect of rewriting the whole "$0" with only 1 separator between each fields. should be taken into account if you wanted to keep any alignment (unless gnu awk has an option avoiding this? regular awk/nawk will recompute $0)
– Olivier DulacJul 15 '15 at 0:57

In both case you reformat the line with a single separator. If there is 2 space or space +tab in a separator, the result is a single space in place. This is hoppefully OK for most of the text.
– NeronLeVeluJul 16 '15 at 9:02

@mikeserv, this will keep both surrounding separator, sed 's/[[:blank:]*[^[:blank:]]*//5' is better. Very good point. I suspected that sed take each single char as a entity but it take greatest unbreaked pattern as entity
– NeronLeVeluJul 16 '15 at 11:08

@mikeserv Assuming there is not starting space on the line (like in the sample)
– NeronLeVeluJul 17 '15 at 7:25

In this case, yes, I think you're right. Usually such a thing would be a null field and the behavior would be correct. In this case you should do as @cuonglm did and ensure you reference a word each time like sed 's/[[:blank:]][^[:blank:]][^[:blank:]]*//4', or, w/ GNU/BSD/toybox seds: sed -E 's/[[:blank:]][^[:blank:]]+//4'.
– mikeservJul 17 '15 at 7:41