Você precisa escapar do espaço quando é usado como parâmetro, por exemplo:
cut -d \ -f -2 studata.txt > tmp1
N.B. Existem 2 espaços após \
. O primeiro é escapado e representa o argumento para a opção -d
, enquanto o segundo o delimita da opção -f
.
Você também pode colocá-lo entre aspas simples :
cut -d ' ' -f -2 studata.txt > tmp1
ou entre aspas duplas :
cut -d " " -f -2 studata.txt > tmp1
As explicações estão disponíveis na seção Quoting do Manual de bash :
Escape Character: How to remove the special meaning from a single character.
Single Quotes: How to inhibit all interpretation of a sequence of characters.
Double Quotes: How to suppress most of the interpretation of a sequence of characters.