Этот синтаксис был только что введен в одной из последних версий. Поэтому не стоит ожидать, что Octave будет соответствовать этой функции.
Ваши альтернативы - эффективно вводить фиктивные переменные в некоторой форме. Вот общие варианты, использовавшиеся до того, как ~ стал вариантом.
[colA, colB, colC, colC] = textread('data.txt', '%d %d %s %d', 1);
[colA, colB, ans, colC] = textread('data.txt', '%d %d %s %d', 1);
Мне нравится последнее, так как ans - это то, что matlab использует в любом случае как ведро с битами.