GNU/Linux >> Tutoriales Linux >  >> Linux

¿Omitir la extensión con Buscar?

Necesito crear miniaturas de varios archivos .png y me gustaría hacerlo usando ImageMagicks convert utilidad. Para buscar recursivamente todos los archivos que no son miniaturas, estoy usando la siguiente llamada (dividida en dos líneas para que sea legible):

find . -type f -name "*.png" -not -name "*thumb.png*" 
  -exec convert {} -thumbnail 200x200 {}.thumb.png ;`

Pero esto, por supuesto, crearía un archivo llamado a.png.thumb.png al ejecutarlo en un archivo llamado a.png . ¿Cómo podría eliminar el .png? extensión del segundo {} parámetro pasado para convertir?

Respuesta aceptada:

La forma más sencilla de hacer esto es pasar el {} a un shell como sh y haz que el shell lo haga:

find ... 
    -exec sh -c 'convert "$0" -thumbnail 200x200 "${0%.png}.thumb.png"' {} ;

Linux
  1. Reemplace find con fd en Linux

  2. ¿Cómo encontrar archivos con una determinada subruta?

  3. Cómo encontrar archivos con el comando fd en Linux

  4. Linux eliminar archivo con tamaño 0

  5. ¿Cómo encontrar todos los archivos con un directorio principal en particular en Linux?

Cómo encontrar aplicaciones instaladas con tamaño instalado en Linux

Encuentre información de hardware del sistema Linux con Hwinfo

Encuentra archivos perdidos con Scalpel

Cómo eliminar archivos con extensión específica en Linux

Cómo encontrar archivos con el comando fd en Linux

Tutorial de comando de búsqueda de Linux (con ejemplos)