Supongo que solo desea escanear la carpeta actual (y no todas las demás carpetas debajo de ella):
for rarfile in *.rar; do
unrar x "$rarfile"
done
La clave es poner el nombre del archivo en "" al pasarlo unrarpara evitar problemas con espacios en el nombre.
Ahora, si desea tener esto como un script que puede ejecutar, puede hacer lo siguiente
cd ~
mkdir .bin
echo 'PATH=$PATH:$HOME/.bin' >> .profile
echo 'export PATH' >> .profile
. ./.profile
nano .bin/extract_all_rars
Esto le brinda un editor simple para archivos de texto, los comandos esenciales se muestran en la parte inferior. Tipo
#!/bin/bash
seguido por el bloque de código en la parte superior, guarde el archivo y salga. Luego (en el shell nuevamente) escriba
chmod +x .bin/extract_all_rars
para marcarlo como ejecutable (para que el shell lo reconozca como un comando).
La eliminación automática tiene una advertencia: unrarno devuelve un estado de error si las cosas salen mal, por lo que puede perder sus archivos rar. Si esto no es un problema, agregue
rm -f "$rarfile" ${rarfile%%.rar}.r{0..9}{0..9}
después de que unraren el bucle anterior hará el trabajo. El segundo parámetro se usa para crear todos los .r04sufijos posibles eliminando primero el sufijo ( ${rarfile%%.rar}) y luego iterando de 0 a 9 dos veces para obtener todas las combinaciones posibles (ejecute echo foo{0..9}en bash para ver cómo funciona). Como la mayoría de estos nombres de archivo no existen, he agregado -funa opción para evitar mensajes de error.
Si está bastante seguro de que no hay otros archivos con un .rXXsufijo en el mismo directorio, un simple
rm -${rarfile%%.rar}.r??
hace el truco también.
Si no tienes rar/ unrarya:
- Descargar RAROSX 4.2 de rarlab.com
- En Finder, abra
~/Downloadsy haga doble clic en el archivo descargado para descomprimir. Se rarcreará una carpeta.
Abra la Terminal y ejecute los siguientes comandos
cd ~/Downloads/rar
sudo install -d rar unrar /usr/local/bin
instalar los binarios (ejecutables)
También debemos asegurarnos de que el shell luego encuentre los binarios
cd ~
echo 'PATH=$PATH:/usr/local/bin' >> .profile
echo 'export PATH' >> .profile
. ./.profile