Manter novas linhas na saída de corte

1

Vamos imaginar que temos um arquivo:

foo bar
foo1 bar1

Eu quero cortar cada segunda palavra em cada linha, então eu quero que o arquivo seja assim:

foo
foo1

Estou tentando usar cut -d ' ' -f -1 , mas o que obtenho é:

foo foo1

Como posso preservar os términos de linha no arquivo?

    
por Anton Barkovsky 27.03.2011 / 13:36

2 respostas

3

conteúdo do arquivo

john@caffe:~$ cat listing.txt
foo bar baz
foo1 bar1 baz1

obtendo apenas a primeira coluna

john@caffe:~$ cut -d' ' -f1 listing.txt
foo
foo1

obtendo a primeira e a terceira coluna, desta vez de stdin a um pipe

john@caffe:~$ cat listing.txt | cut -d' ' -f1,3
foo baz
foo1 baz1

EDIT: Eu acho que sei o que você está fazendo errado

john@caffe:~$ foo=$(cut -d " " -f -1 listing.txt)
john@caffe:~$ echo $foo
foo foo1
john@caffe:~$ echo "$foo"
foo
foo1
    
por 27.03.2011 / 14:41
0

Verifique a opção --output-delimiter do corte, ou seja, cut -f 1 -d ' ' --output-delimiter='\n' no seu caso

    
por 24.06.2016 / 13:45