Copie e renomeie um arquivo específico sequencialmente de uma lista PM2 executando aplicativos

Copie e renomeie um arquivo específico sequencialmente de uma lista PM2 executando aplicativos

Quero fazer um bash para copiar um arquivo específico (app8000.js) na mesma pasta e renomeá-lo sequencialmente de acordo com uma lista de aplicativos já em execução no meu pm2 (app8001.js, app8002.js, app8003.js) e encontrar "8000" dentro do arquivo e substitua-o pelo número no novo nome do arquivo como: "8004", "8005", "8006"...

Para deixar mais claro:

  1. copie o arquivo original (por exemplo, app8000.js)
  2. encontre o último número na lista de aplicativos em execução pm2 (por exemplo, app8003.js)
  3. renomeie o novo arquivo "app8004.js"
  4. encontre um texto específico como "8000" dentro deste novo arquivo e substitua todas as correspondências por "8004"
  5. pm2 inicie este novo aplicativo

Desculpe pelo mau inglês, usuário Linux iniciante, então, por favor, vá com calma comigo :)

Qualquer ajuda seria apreciadas.

Saúde!

Responder1

Não tenho certeza se entendi sua solicitação corretamente, mas você pode tentar isso:

#!/bin/bash

numberOfProcess=$(find . -name 'app*' -printf x | wc -c)
newID=$((8000 + $numberOfProcess))
cp app8000.js app$newID.js

informação relacionada