перебор нескольких файлов с помощью команды bash

Мой код тебе

#!/bin/bash

script_file="$(/bin/readlink -f $0)"
lock_file=${script_file////_}

function executing {
  echo "'${script_file}' already executing"
  exit 1
}

(
  flock -n 9 || executing

  sleep 10

) 9> /var/lock/${lock_file}

На основе man flock, только улучшение:

  • имя файла блокировки, основанное на полном имени скрипта
  • сообщениеexecuting

Там, где я поставил здесь sleep 10, можно поставить все основные скрипты.

0
07.06.2021, 02:42
1 ответ

Чтобы просто считать с помощью r, когда вы получаете другой файл, вы можете сделать что-то вроде:

r=1
while read sample
do
  Rscript --vanilla --slave /projects/dpclust_pipeline.R  -r ${r} -d /projects/preprocessing_out -o /projectsdp_out -i /projects/preprocessing_out/${sample}_master.txt
  r=$(( r + 1 ))
done < path/to/sample_id.txt
0
28.07.2021, 11:26

Теги

Похожие вопросы