Estoy tratando de canalizar la grepsalida a rm, pero produce cosas inútiles. ¿Se requiere algún cambio rm? ¿O se le rmpuede proporcionar una expresión regular directamente?
ls | grep '^\[Daruchini'| rm
rm: operando faltante Pruebe `rm --help 'para obtener más información.

Respuestas:
Debe usar
xargspara convertir la entrada estándar en argumentos pararm.(Tenga cuidado con los caracteres especiales en los nombres de archivo; con GNU grep, puede preferir
)
Además, aunque el shell no usa expresiones regulares, ese es un patrón simple:
(Mientras tanto, creo que necesito dormir más).
fuente
rm Dar*, norm !(Dar*).zsh^modo (similar a labasg!cosa).| tr "\n" "\0"antes delxargsbit. Visto en esta publicación: stackoverflow.com/questions/20307299/…No analice la salida de
ls.Aquí, es muy simple hacer que el shell filtre los archivos que desea. Tenga en cuenta que es el shell lo que está expandiendo el patrón
Dar*, no elrmcomando. La expansión del patrón realizada por el shell se llama globbing .En casos más complejos, busque el
findcomando.fuente
Si desea delimitar la salida de
greppor líneas nuevas en lugar de espacios en blanco, puede especificarlo axargstravés de la-dopción.(como se describe en esta pregunta)
fuente
Para pasar la salida como argumento, tiendo a usar un ciclo while ya que no estoy familiarizado con xargs.
fuente
El mejor comando para mí es:
fuente