Последовательно копируйте и переименовывайте определенные файлы из списка pm2, запущенных приложений

Последовательно копируйте и переименовывайте определенные файлы из списка pm2, запущенных приложений

Я хочу создать bash для копирования определенного файла (app8000.js) в ту же папку и последовательного переименования его в соответствии со списком уже запущенных приложений в моем pm2 (app8001.js, app8002.js, app8003.js), затем найти «8000» внутри файла и заменить его на число в новом имени файла, например: «8004», «8005», «8006»...

Чтобы было понятнее:

  1. скопируйте исходный файл (например, app8000.js)
  2. найти последний номер в списке запущенных приложений pm2 (например, app8003.js)
  3. переименуйте новый файл в «app8004.js»
  4. найдите определенный текст, например «8000», внутри этого нового файла и замените все совпадения на «8004»
  5. pm2 запустить это новое приложение

Извините за плохой английский. Я начинающий пользователь Linux, так что, пожалуйста, не ругайтесь :)

Любая помощь будет принята с благодарностью.

Ваше здоровье!

решение1

Я не уверен, что правильно понял ваш запрос, но вы можете попробовать это:

#!/bin/bash

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

Связанный контент