Dependendo da sua versão de grep
, isso pode esperar para sempre porque você não deu um nome de arquivo (ou diretório) como argumento; O comportamento de grep
para usar o diretório de trabalho atual quando -r
é especificado é um recurso bastante novo. Assim, se a sua versão for mais antiga, essa sua chamada poderá aguardar para sempre a entrada em stdin
. Basta adicionar .
como último argumento a grep
para evitar este caso.
Para evitar problemas com nomes de arquivos (o que não deve ser um problema neste caso), seria mais seguro chamar
grep -Zl -r 'Undelivered' . | xargs -0 rm --
Dessa forma, grep
exibe os nomes de arquivos correspondentes de zero bytes ( '
) separados, o que evita problemas com espaços e similares em nomes de arquivos. --
'rm
informa -
para não tratar os argumentos a seguir como opções, ou seja, se um nome de arquivo começar com -v
, ele não será quebrado.
Para ver se esse comando faz alguma coisa, você pode adicionar a opção rm
a rm
, para ver se --
realmente remove algo (na frente de %code% , é claro).