Erro: cut: o delimitador deve ser um único caractere no linux

2

Eu estou tentando cortar a primeira e a segunda coluna de studata.txt e a segunda coluna de studata1.txt .

studata.txt :

1 a 10
2 b 20
3 c 30

studata1.txt :

i si
co oi
me zi

Aqui está o meu arquivo bash:

cut -d -f -2 studata.txt >tmp1
cut -d -f 2- studata1.txt > tmp2
paste tmp1 tmp2 > c.txt
cat c.txt

Erro:

cut: the delimiter must be a single character
    
por Gaurav 27.10.2013 / 07:07

1 resposta

6

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.

    
por 27.10.2013 / 07:09

Tags