Como esse texto reformatando acontece com o ack?

2

Se eu fizer um ack para uma string, eu obtenho uma linha com o nome do arquivo e, em seguida, os números de linha e as linhas correspondentes, assim:

$> ack function
mymodule.file
8: function myfunction1() {
16:  public function __construct( $protocol = 'ftp') {
36:  public static function getSupportedProtocols() {

No entanto, quando eu ack os resultados de uma segunda string, as linhas saem com mais informações em uma única linha:

$> ack function|ack test
mymodule.file:897:function mytest() {

Eu notei que isso também acontece ao usar os resultados de ack .

Como as informações sobre várias linhas são reduzidas a uma linha? É a casca fazendo isso?

    
por user394 05.05.2015 / 19:04

1 resposta

3

Isso é feito por ack em si. ack verifica se sua saída padrão está conectada a um terminal e, se não estiver, imprime a saída em um formato diferente. Eu acho que esse formato foi escolhido porque é mais fácil de processar por aplicativos projetados para processamento de texto (como grep ou ack em si).

    
por 05.05.2015 / 19:18

Tags