Skip to content

Instantly share code, notes, and snippets.

@rodrigolive
Created March 4, 2021 17:37
Show Gist options
  • Save rodrigolive/32e0470c61ca7038322533b0087c1181 to your computer and use it in GitHub Desktop.
Save rodrigolive/32e0470c61ca7038322533b0087c1181 to your computer and use it in GitHub Desktop.
02 find_sh
#!/bin/bash
find . -name '*.sh' -type f -exec basename {} \; | sed 's/\.sh$//'
@rodrigolive
Copy link
Author

find busca en el directorio actual . ficheros (-type f) terminados en *.sh
Para cada fichero encontrado, se ejecuta (-exec) el comando basename pasándole como parámetro el fichero encontrado {}.

El comando basename devuelve el nombre del fichero y quita el path. El \; es obligatorio para cerrar el -exec.

El sed reemplaza el .sh al final de cada fichero /\.sh$/ con nada // (efectivamente borrando el .sh). El sed opera sobre cada línea que recibe de entrada y recibe como parámetro una expresión regular.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment