Tengo varios archivos rar almacenados así:
/torrents/televisionshowS01E0$X/nameoftelevisionshow.rar
donde $X es una variable ={0,1,2,...,12}
Me gustaría extraerlos usando un solo comando en un único directorio de salida ( /publicshare/
).
Esto es lo que tengo hasta ahora:
for i in find /torrents/televisionshowS01*/ -name *.rar; do unrar x "$i" /publicshare/;done
pero obtengo el siguiente resultado:
Cannot open /torrents/televisionshowS01E01/.rar
No such file or directory
No files to extract
Sin embargo, find /torrents/televisionshowS01*/ -name *.rar devuelve las rutas correctas.
Respuesta1
Oh, al mirar el bashscript de otras personas, me di cuenta de que debería tener comillas invertidas alrededor del comando de búsqueda. Al igual que,
for i in `find /torrents/televisionshowS01*/ -name *.rar`; do unrar x "$i" /publicshare/; done
y luego el comando funcionó como yo deseaba. Aunque todavía no estoy seguro de POR QUÉ exactamente. Supongo que funcionan como lo harían los paréntesis en matemáticas. Obviamente, esta vez funcionó, pero como buena práctica, ¿debería haber puesto comillas invertidas unrar x "$i" /publicshare/
?
Gracias