Copie y cambie el nombre de un archivo específico secuencialmente desde una lista pm2 que ejecuta aplicaciones

Copie y cambie el nombre de un archivo específico secuencialmente desde una lista pm2 que ejecuta aplicaciones

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:

  1. copie el archivo original (por ejemplo, app8000.js)
  2. busque el último número en la lista de aplicaciones en ejecución pm2 (por ejemplo, app8003.js)
  3. cambie el nombre del nuevo archivo "app8004.js"
  4. busque texto específico como "8000" dentro de este nuevo archivo y reemplace todas las coincidencias con "8004"
  5. 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

información relacionada