
Quiero hacer un bash para copiar un archivo específico (app8000.js) en la misma carpeta y cambiarle el nombre secuencialmente de acuerdo con una lista de aplicaciones que ya se están ejecutando en mi pm2 (app8001.js, app8002.js, app8003.js) y luego buscar "8000" dentro del archivo y reemplácelo por el número en el nuevo nombre del archivo como: "8004", "8005", "8006"...
Para que quede más claro:
- copie el archivo original (por ejemplo, app8000.js)
- busque el último número en la lista de aplicaciones en ejecución pm2 (por ejemplo, app8003.js)
- cambie el nombre del nuevo archivo "app8004.js"
- busque texto específico como "8000" dentro de este nuevo archivo y reemplace todas las coincidencias con "8004"
- pm2 inicia esta nueva aplicación
Perdón por el mal inglés, usuario principiante de Linux, así que por favor sean amables conmigo :)
Cualquier ayuda seria gratamente apreciada.
¡Salud!
Respuesta1
No estoy seguro de haber entendido correctamente tu solicitud, pero puedes intentarlo:
#!/bin/bash
numberOfProcess=$(find . -name 'app*' -printf x | wc -c)
newID=$((8000 + $numberOfProcess))
cp app8000.js app$newID.js