Necesito una secuencia de comandos para eliminar una carpeta, solo si la carpeta no contiene archivos multimedia con la extensión avi
o mp4
.
Necesito una secuencia de comandos para eliminar una carpeta, solo si la carpeta no contiene archivos multimedia con la extensión avi
o mp4
.
Si todas las carpetas que se eliminarán están directamente debajo de la carpeta que contiene y todos los archivos mp4 y avi están directamente debajo de las carpetas guardadas:
for d in */;do ls "$d"|grep -Eq '.*\.(mp4|avi)$'||echo rm -r "$d";done
Si los archivos mp4 y avi pueden estar en subcarpetas de las carpetas guardadas:
for d in */;do [[ $(find "$d" -iname \*.mp4 -o -iname \*.avi) ]]||echo rm -r "$d";done
Si las carpetas que se van a eliminar pueden estar en subcarpetas de la carpeta que contiene:
find . -type d|while read d;do ls "$d"|grep -Eq '.*\.(mp4|avi)$'||echo rm -r "$d";done
Lea otras preguntas en las etiquetas script