1 votos

Terminal Mac: Editar documento de texto

De nuevo estoy intentando hacer un atajo de siri que te permita ejecutar aplicaciones en tu Mac.

https://www.icloud.com/shortcuts/f74c9bd89f1a4e71a3e8f72da5cf5ab7

Está haciendo una lista de todas sus aplicaciones en un documento de texto, pero está el propio documento de texto también en la lista. ¿Puedo borrar el nombre del documento en esta lista con un comando y sin usar el teclado?

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

0 votos

Me gusta lo que estabas pensando con las capturas de pantalla, pero (a excepción de la que muestra los comandos que estás ejecutando a través de SSH) no creo que estén ayudando a apoyar tu real pregunta que es, fundamentalmente, "¿cómo puedo listar un directorio, redirigir esa lista a un archivo, pero evitar que el archivo de la lista en sí de aparecer en el listado?"

4voto

Łukasz Sromek Puntos 1347

ls > Applications.txt va a enumerar el Applications.txt en la lista.

Aunque no entiendo del todo su flujo de trabajo, añadir el -d debería funcionar, especificando *.app.

ls -d *.app > Applications.txt

Sin embargo, al igual que tu enfoque anterior, eso no atrapará los archivos .app enterrados en subdirectorios (como tu Adobe Suite). Puede modificar el parámetro maxdepth de find para algo así:

find . -maxdepth 1 -type d -name "*.app" > Applications.txt

Si desea buscar dentro de todo subdirectorios del actual, simplemente omita el -maxdepth opción por completo.

Si tiene un problema con el nombre de la ruta que forma parte de la salida ( Por ejemplo , usted quiere Terminal.app no ./Utilities/Terminal.app ), entonces intente esto en su lugar:

cd /Applications
find * -type d -name "*.app" -exec basename "{}" \; > Applications.txt

Si quiere encontrar cualquier aplicación en cualquier lugar en tu Mac, prueba:

mdfind -interpret "kind:application"  # this is localized for your language

El mdfind utiliza el índice de Spotlight, por lo que es rápido, pero (al ser un índice) puede no representar siempre el exacto El estado actual del sistema de archivos. Cómo eliminar el nombre de la ruta del frente se deja como ejercicio para el lector ( sugerencia : xargs -I{} basename "{}" ).

0 votos

Sólo están los archivos .app en el documento de texto. Hay también un comando que liste todos los archivos .app como Adobe Photoshop CC 2019.app?

0 votos

@JonathanXD12 Ver la respuesta actualizada de dxdc. El find o el comando mdfind (que utiliza el índice Spotlight del Mac) son probablemente mejores herramientas para el trabajo que ls .

0 votos

Aumentar la maxdepth podría ser lo suficientemente bueno- ` encontrar . -maxdepth 3 -type d -name '*.app' -exec basename {} \; > FILE`

1voto

Podría ser más fácil evitar el problema creando el archivo de texto fuera de la carpeta de Aplicaciones. Esto también asegurará que el flujo de trabajo funcione para los usuarios sin acceso de escritura allí. En la acción SSH utilice

cd /Applications
ls > ~/Library/Mobile\ Documents/iCloud~is~workflow~my~workflows/Documents/Applications/Applications.txt

para crear el archivo directamente en el lugar donde quieres que termine.

0 votos

Gracias. ¡Está funcionando!

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X