GNU/Linux >> Tutoriales Linux >  >> Linux

Usando 'buscar' para devolver nombres de archivo sin extensión

Aquí hay una solución simple:

find . -type f -iname "*.ipynb" | sed 's/\.ipynb$//1'

Para devolver solo los nombres de archivo sin la extensión, intente:

find . -type f -iname "*.ipynb" -execdir sh -c 'printf "%s\n" "${0%.*}"' {} ';'

o (omitiendo -type f de ahora en adelante) :

find "$PWD" -iname "*.ipynb" -execdir basename {} .ipynb ';'

o:

find . -iname "*.ipynb" -exec basename {} .ipynb ';'

o:

find . -iname "*.ipynb" | sed "s/.*\///; s/\.ipynb//"

sin embargo invocando basename en cada archivo puede ser ineficiente, por lo que la sugerencia de @CharlesDuffy es:

find . -iname '*.ipynb' -exec bash -c 'printf "%s\n" "${@%.*}"' _ {} +

o:

find . -iname '*.ipynb' -execdir basename -s '.sh' {} +

Para imprimir la ruta completa y el nombre del archivo (sin extensión) en la misma línea, intente:

find . -iname "*.ipynb" -exec sh -c 'printf "%s\n" "${0%.*}"' {} ';'

o:

find "$PWD" -iname "*.ipynb" -print | grep -o "[^\.]\+"

Para imprimir la ruta completa y el nombre de archivo en líneas separadas:

find "$PWD" -iname "*.ipynb" -exec dirname "{}" ';' -exec basename "{}" .ipynb ';'

Linux
  1. ¿Omitir la extensión con Buscar?

  2. ¿Usando 'sed' para buscar y reemplazar?

  3. ¿Cómo cambiar el nombre de varios archivos usando Buscar?

  4. Linux:¿cómo encontrar procesos usando el puerto serie?

  5. Cómo eliminar/eliminar archivos ejecutables (también conocidos como archivos sin extensión) solamente

Encuentre detalles del sistema Linux usando Python

Encuentra texto en archivos en Linux usando grep

gzip todos los archivos sin borrarlos

Restaurar ~/.bashrc sin usar comandos bash

¿Cómo eliminar un archivo sin usar rm?

¿Cómo encontrar solo directorios sin subdirectorios?