Estoy buscando una herramienta CLI que vea un directorio y escupe los nombres de los archivos que cambian en tiempo real.
some_watch_command /path/to/some/folder | xargs some_callback
Soy consciente de inotify( inotify-tools?) Y parece ser lo que necesito, pero necesito algo que sea compatible tanto con Linux (en mi caso Ubuntu) como con OSX.
No necesita ser rápido como un rayo, pero sí debe activarse ante los cambios (en un segundo es razonable). Además, no necesariamente necesito el programa CLI exacto mencionado anteriormente. Si existe alguna tecnología subyacente y es fácilmente programable en ambas plataformas, eso también sería genial.

fswatchpara OS X, que encontré en una pregunta etiquetada como duplicado - superuser.com/questions/445907/…Respuestas:
OS X normalmente usaría Acciones de carpeta o Lanzado para esta tarea.
La única herramienta multiplataforma que conozco es la API de vigilancia para Python (por lo tanto, disponible para OS X y Linux). Instalarlo a través de
pip(oeasy_install)Viene con la
watchmedoherramienta de línea de comandos, que le permite ejecutar comandos de shell en eventos del sistema. Verifique su sintaxis general conwatchmedo --helpAquí hay un breve ejemplo, donde podría modificar fácilmente el comando y la ruta resaltada en negrita:
watchmedo shell-command \ --recursivo \ --command = ' echo "$ {watch_src_path}" ' \ / some / folderEsto simplemente escupiría las rutas a todos los archivos o carpetas modificados, permitiéndole canalizar
watchmedola salida a otro comando de shell.fuente
watchmedofunciona perfectamente para mí. ¡Gracias!He modificado algunos scripts de Ruby que he encontrado para hacer exactamente lo que estás buscando. Aquí está el código Ruby:
Llamé a este script "OnSaveFolder.rb". Se necesitan dos parámetros: la carpeta que desea ver para los cambios, y el código bash que desea ejecutar cuando haya un cambio. Por ejemplo,
¡Espero que esto ayude! Descubrí que Ruby funciona muy bien para este tipo de cosas, y está instalado en OS X por defecto.
fuente
Puede poner
lsofunwatchcomando y actualizarlo cada<s>segundo:y ejecutar eso con cualquier filtro, como mirar pid1, pid2, pid3 e ignorar pid4
Si eso no es suficiente, siempre puedes escribir tus propios filtros con grep.
Para OS X, vea las respuestas de esta pregunta .
fuente
Entr es agradable. Puede filtrar los archivos exactos que desea que vea, de esta manera.
Si desea que solo supervise ciertos archivos dentro de un directorio, puede diseñar su
findcomando para que solo devuelva los archivos que desea ver.Me resulta más fácil de configurar que
fswatch.fuente