How to make the 'cut' command treat same sequental delimiters as one?

bash, cut, delimiter, unix

Solution

Try:

tr -s ' ' <text.txt | cut -d ' ' -f4

From the `tr` man page:

-s, --squeeze-repeats   replace each input sequence of a repeated character
                        that is listed in SET1 with a single occurrence
                        of that character

Problem

I'm trying to extract a certain (the fourth) field from the column-based, 'space'-adjusted text stream. I'm trying to use the `cut` command in the following manner: `cat text.txt | cut -d " " -f 4` Unfortunately, `cut` doesn't treat several spaces as one delimiter. I could have piped through awk `awk '{ printf $4; }'` or sed `sed -E "s/[[:space:]]+/ /g"` to collapse the spaces, but I'd like to know if there any way to deal with `cut` and several delimiters natively?

Original source

Related problems