I want to do something like this:
cat abcd.txt | cut -f 2,1
and I want the order to be 2 and then 1 in the output. On the machine I am testing (FreeBSD 6), this is not happening (its printing in 1,2 order). Can you tell me how to do this?
I know I can always write a shell script to do this reversing, but I am looking for something using the 'cut' command options.
I think I am using version 5.2.1 of coreutils containing cut.
Lars' answer was great but I found an even better one. The issue with his is it matches \t\t as no columns. To fix this use the following:
Where:
-F"\t"
is what to cut on exactly (tabs).-v OFS=" "
is what to seperate with (two spaces)Example:
This outputs:
This can't be done using
cut
. According to the man page:Patching
cut
has been proposed many times, but even complete patches have been rejected.Instead, you can do it using
awk
, like this:Replace the
\t
with whatever you're using as field separator.