Cómo buscar en Mac los archivos que comienzan o terminan con un espacio “” o un punto “.”

2

Solo necesito saber cómo buscar (dentro de Finder vs Terminal, si es posible) todos los nombres de archivos dentro de una carpeta específica, que comienzan o terminan con un espacio o un período.

Por ejemplo:
"file.jpg" (comienza con un espacio)
"archivo .jpg" (termina con un espacio)
"file..jpg" (termina con un punto

Además, encontrar un nombre de archivo con los caracteres * o "en él. Buscarlo en el nombre de archivo usando Finder produce miles de resultados que en realidad no tienen * ni" en él. Ejemplo: "fil * e.jpg" o "fil" e.jpg "

    
pregunta Jake 04.05.2016 - 20:53

2 respuestas

3

Con Finder como la aplicación activa, elija Find en el menú File . En la ventana Searching "This Mac" que aparece, seleccione Kind es Document , luego use + para agregar otra condición con Name como el primer elemento. Si elige begins with como segundo elemento, puede encontrar archivos cuyos nombres comiencen con un carácter particular, como el espacio. La condición ends with no encontrará archivos con los nombres en sus ejemplos a menos que el sufijo de nombre de archivo termine con el carácter de interés, pero puede encontrar un carácter particular, como un espacio, como el último carácter antes del sufijo si elige contains y sigue ese carácter con . . Para el ejemplo de file..jpg , usaría .. para el texto de búsqueda. Este enfoque encontrará caracteres literales * en los nombres de archivo, si elige contains y usa * para el texto de búsqueda.

Encontrar dichos archivos con el comando find (en Terminal ) es sencillo si cita los caracteres especiales de manera adecuada. Por ejemplo,

find Downloads -name ' *' -ls

informa de todos los archivos en mi directorio de descargas que comienzan con un espacio,

find Downloads -name '*\**' -ls

informa de todos los archivos en mi directorio de descargas con un * en su nombre,

find Downloads -name '*\.\.*' -ls

informa de todos los archivos en mi directorio de descargas con dos caracteres . consecutivos en su nombre, y

find Downloads -name '* .*' -ls

informa de todos los archivos con un carácter de espacio inmediatamente antes del sufijo. Por último,

find Downloads -name ' *' -ls -o -name '*\**' -ls -o -name '*\.\.*' -ls -o -name '* .*' -ls

reporta todos esos archivos en mi directorio de descargas. Puede anclar la búsqueda en otro lugar reemplazando Downloads en la línea de comandos, y puede usar otras opciones para restringir aún más la búsqueda ( -type f ignoraría los directorios y enlaces simbólicos).

    
respondido por el Eirik Fuller 05.05.2016 - 02:39
0

Para iluminar y expandir un poco la respuesta de Eirik:

Las instrucciones que te ha proporcionado son esencialmente las mismas que utilizarías en el terminal, pero con algunos detalles ocultos.

Mi conjetura es que está buscando limpiar nombres de archivos, por lo que esto es algo para lo que el terminal es realmente muy bueno: precisamente, de hecho, por qué se conserva en cualquier sistema operativo moderno.

Si está interesado, avíseme y veré cómo agregar más detalles sobre qué escribir para (a) encontrar todos los archivos que coincidan con sus características y (b) corregir sus nombres (manteniendo las copias de seguridad en caso de que de preocupación) en un comando puede pegar en el terminal. :)

    
respondido por el J. Bra 05.05.2016 - 06:47

Lea otras preguntas en las etiquetas