Grep e xargs: nome do arquivo muito longo

4

Estou tentando excluir todos os arquivos que não iniciam com __ . Este

ls | grep -v "__" | xargs -0 rm

Rende : File name too long . Alguma ajuda?

EDITAR:

ls | grep -v "__" | awk '{print("rm "$0"")}' | /bin/bash

resolve o problema, mas eu gostaria de saber porque o primeiro não está correto. Obrigado

    
por pistacchio 27.01.2012 / 12:10

1 resposta

6

Retire o argumento -0 e isso resolverá o problema. o -0 arg para xargs diz que os itens na lista de entrada são terminados por nulo. Você não está fazendo isso, você está passando linhas terminadas por um caractere \n .

    
por 27.01.2012 / 12:17

Tags