Como definir delimitador 'tab' com 'cut' em BASH?

180

Aqui está um exemplo de usar cut para dividir a entrada em campos usando um delimitador de espaço e obter o segundo campo:

cut -f2 -d' '

Como o delimitador pode ser definido como uma guia, em vez de um espaço?

    
por Muhammad Hasan Khan 30.03.2012 / 09:38

4 respostas

253

Duas maneiras:

Pressione Ctrl-v + Tab

cut -f2 -d'   ' infile

ou escreva assim:

cut -f2 -d$'\t' infile
    
por 30.03.2012 / 09:42
168

Tab é o padrão.

Veja a página man de corte .

-d delim
         Use delim as the field delimiter character instead of the tab
         character.

Então você deve escrever

cut -f 2
    
por 30.03.2012 / 15:56
12

awk '{ print $2; }' inputfile

    
por 30.03.2012 / 13:29
10

Mais genericamente, sem exigir caracteres invisíveis: use tr para converter os delimitadores em um formato que possa ser especificado com mais facilidade para cut .

$ echo -e "a\tb\tc" |tr '\t' ' ' |cut -d' ' -f2
b

tr é uma ferramenta de correspondência e substituição de caracteres simples, mas poderosa.

    
por 21.11.2014 / 21:34

Tags