Removendo colunas contendo espaço em um arquivo de texto

1

Eu tenho um arquivo de texto contendo dados tabulados alinhados com muito espaço separando colunas, por exemplo:

header1     header2          header3
val1a       val2a            val3a
val1bbbb    val2b b ab  ab   val3b

Observe que os valores da coluna contêm espaços. (O exemplo preciso é obtido executando COLUMNS=200 dpkg-query -l no Debian, até remover as primeiras linhas de cabeçalho.)

Eu gostaria de reduzir o comprimento das linhas, a saber, a mesclar colunas adjacentes que consistem apenas no caractere de espaço em uma única coluna desse tipo . O resultado aqui seria:

header1  header2       header3
val1a    val2a         val3a      
val1bbbb val2b b ab ab val3b

(Observe que isso pode reduzir vários espaços dentro de um campo para um único espaço, como em "ab ab" = > "ab ab" acima, mas isso não importa.) Como eu poderia fazer isso? Obrigado!

(A única solução que assumi é que as colunas são separadas por vários espaços, então posso substituí-las por um delimitador que não ocorra em outro lugar no arquivo e, em seguida, reclassificar com column -t com base nesse delimitador Mas isso é frágil e desagradável e não funciona se houver algumas colunas separadas por apenas um espaço ou se alguns valores de coluna contiverem vários espaços.

    
por a3nm 27.06.2017 / 11:38

0 respostas