Me gustaría eliminar todos los archivos, pero mantener la estructura de carpetas. ¿Hay alguna manera?
NOTA: (Estoy usando GNU bash 4.1.5).
bash
bash-script
Tom Brito
fuente
fuente
Respuestas:
Prueba esto:
Esto eliminará todos los archivos, excepto los directorios, debajo del directorio de trabajo actual. Ten mucho cuidado con este comando.
Si la versión de
find
su máquina lo admite, también puede usarfuente
find
comando nunca ve las comillas. Simplemente ve el{}
marcador como un argumento.-exec command {} +
" y esto "-exec command ;
". He usado el\;
en el pasado simplemente nunca el '{}'.find
. Creo que las plantillas están destinadas a mostrar qué argumentosfind
necesita el comando y no preocuparse por nada relacionado con shell.Puede usar el comando
find
para localizar cada archivo pero mantener la estructura del directorio:Según estas preguntas y respuestas de Unix y Linux tituladas: gnu encuentra y enmascara el {} para algunos shells, ¿cuál? , escapar
{}
con ticks individuales ('
) ya no parece ser necesario con shells modernos como Bash.fuente
La forma fácil de eliminar todos los archivos regulares en el directorio y subdirectorios actuales de forma recursiva:
Solo zsh tiene calificadores globales para hacer coincidir los archivos por tipo. Sin embargo, el
rm
comando no funciona en directorios, por lo que en bash, puede usarEsto no funciona para otros comandos que no sean
rm
. En general, puedes usarfind
:o si tu
find
no es compatible-delete
:fuente
Tenía un requisito similar para eliminar archivos de una ruta y sus subdirectorios (filtrado por tiempo) sin eliminar la estructura del directorio.
Y he usado el siguiente formato que funcionó para mí.
find / test123 / home / test_file_hip / data / nfs -mtime +6 -type f -exec rm {} \;
Syntex: find (ruta del archivo) -mtime (mayor o menor que días) -type f -exec rm {} \;
-tipo: Mencione el tipo de archivo "f" para el directorio "d" -exec: ejecute el comando rm: remove {}: salida del comando find
Nota: Pruébelo antes de usarlo. No dude en corregir o actualizar si me perdí algo.
fuente
find ... rm
estructura básica ya ha sido cubierta, no estoy seguro de que esta sea una contribución valiosa como una nueva Respuesta a esta pregunta.