Hi Assaf,
Thanks for the fast reply! I should've included the example in the first place. Btw, -t separator is not a requirement for the cut behavior I'm reporting, but rather using a header name that contains a space.
$ echo -e "Header 1\tHeader 2\tHeader 3\nData A\tData B\tData C"
Header 1 Header 2 Header 3
Data A Data B Data C
# Column HEADER NUMBER works fine
$ echo -e "Header 1\tHeader 2\tHeader 3\nData A\tData B\tData C" |datamash -H cut 2
cut(Header 2)
Data B
# Column HEADER NAME WITH SPACE does not work
$ echo -e "Header 1\tHeader 2\tHeader 3\nData A\tData B\tData C" |datamash -H cut "Header 2"
datamash: invalid operation ‘2’
$ echo -e "Header 1\tHeader 2\tHeader 3\nData A\tData B\tData C" |datamash -H cut 'Header 2'
datamash: invalid operation ‘2’
$ echo -e "Header 1\tHeader 2\tHeader 3\nData A\tData B\tData C" |datamash -H cut Header\ 2
datamash: invalid operation ‘2’
$ echo -e "Header 1\tHeader 2\tHeader 3\nData A\tData B\tData C" |datamash -H cut Header?2
datamash: invalid operand ‘?2’
$ echo -e "Header 1\tHeader 2\tHeader 3\nData A\tData B\tData C" |datamash -H cut Header.2
datamash: invalid operand ‘.2’
$ echo -e "Header 1\tHeader 2\tHeader 3\nData A\tData B\tData C" |datamash -H cut Header 2
datamash: invalid operation ‘2’
# Replace header spaces with _
$ echo -e "Header_1\tHeader_2\tHeader_3\nData A\tData B\tData C"
Header_1 Header_2 Header_3
Data A Data B Data C
# Column header name without space works fine
$ echo -e "Header_1\tHeader_2\tHeader_3\nData A\tData B\tData C" |datamash -H cut Header_2
cut(Header_2)
Data B
Thanks,
John