Comando como “colar - -”, mas classificado alfabeticamente

6

Eu tenho um arquivo de texto como:

Adam
Bob
Cevin
David
Evan

Se eu "colar - -", obtenho:

Adam   Bob
Cevin  David
Evan

Mas preciso que a metade inferior seja adicionada como uma nova coluna:

Adam  David
Bob   Evan
Cevin

Existe uma maneira fácil de fazer isso?

    
por Ystro 30.11.2016 / 11:02

1 resposta

9

Você pode usar:

pr -t -2 file

Cuidado com as linhas que são maiores que a metade da largura da página (72 caracteres por padrão, veja a opção -w para alterá-la).

(observe que com a implementação GNU, o alinhamento da coluna pode estar desativado se o arquivo contiver vários bytes ou caracteres com largura zero ou largura dupla ). Ou:

pr -t -2 -s file

para separar as colunas com um caractere de tabulação como paste (não há truncamento).

No entanto, observe que pr trata o caractere de feed de formulário ( ^L ) como um delimitador de página. Não é um problema se esse caractere não estiver presente em seu arquivo.

Ou com zsh :

print -r -C2 -- ${(f)"$(<file)"}
  • $(<file) : pegue o conteúdo de file
  • (f) : dividir na linha f caracteres eed (nova linha)
  • -r : print r aw
  • -C2 : em 2 C olumns.
por 30.11.2016 / 11:08