Se vc usar o head *antes* do xargs, o problema não ocorre (pela explicação do Júlio, faz sentido, pois serão passados menos dados):
du -k * | sort -nr | head | cut -f2 | xargs du -sh Abraços --- Em qua, 12/8/09, Julio C. Neves <[email protected]> escreveu: De: Julio C. Neves <[email protected]> Assunto: Re: [shell-script] comando para listar os maiores arquivos ou pastas do sistema Para: [email protected] Data: Quarta-feira, 12 de Agosto de 2009, 10:42 A impressão que eu tenho (não é uma certeza) é a seguinte: por definição, o xargs tentará mandar a maior qtd de parâmetros possível para o cmd que ele está interpretando (quem interpreta o du -sh é o xargs e não o shell, repare que não tem pipe entre eles). O que eu acredito é que a saída do cut é maior que o xargs consegue trabalhar em uma só passada e necessita dar uma(s) outra(s) passada(s) para trabalhar todos os argumentos recebidos. Como o pipe para o head está esperando somente uma saída, qdo recebe a segunda manda um broken pipe. Isso é o maior chute, mas é a única explicação que imagino. Para ter certeza disso, use a opção -x para ver se funciona. du -k * | sort -nr | cut -f2 | xargs -d "\n" -x du -sh | head -- Abraços, Julio Cursos de Shell e Zenity? - Em SP ligue (11) 2125-4747 (dias 29-30/08 e 12-13/09); - Em DF ligue (61) 3223-3000; - No RJ ligue (21) 2561-0867; - Turmas fechadas em outras cidades ligue (21) 8112-9988. 2009/8/11 voyeg3r <voye...@yahoo. com.br> > > > du -k * | sort -nr | cut -f2 | xargs -d "\n" du -sh | head > > estou obtendo um erro (que não impede a execução do comando) relacionado ao > xargs > > > [As partes desta mensagem que não continham texto foram removidas] ____________________________________________________________________________________ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
