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
.
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