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]