Não é grep
alterar a saída. É dpkg
e aptitude
. Eles verificam se a saída vai para um terminal ou para algum outro comando.
Se for um terminal, eles adaptam sua própria largura de saída para corresponder ao tamanho do terminal.
Se a saída não for para um terminal, o comando não tem ideia de qual tamanho de coluna seria apropriado. (A saída também pode terminar em algum arquivo.)
O mesmo acontece com ls
. Compare ls
e ls|cat
.
Não há uma maneira geral de resolver isso, mas alguns comandos podem ter opções específicas para isso. Por exemplo, aptitude
tem --disable-columns
e -w
:
--disable-columns
This option causes aptitude search and aptitude versions to output
their results without any special formatting. In particular:
normally aptitude will add whitespace or truncate search results in
an attempt to fit its results into vertical “columns”.
With this flag, each line will be formed by replacing any format
escapes in the format string with the corresponding text; column
widths will be ignored.
-w <width>, --width <width>
Specify the display width which should be used for output from
the search command (by default, the terminal width is used).
A página man de dpkg
diz:
COLUMNS
Sets the number of columns dpkg should use when
displaying formatted text. Currently only used by -l.