Вот некоторые другие идеи, просто для удовольствия:
Самый простой метод:
ls Sim* | wc -l
Это просто подсчитывает количество имеющихся файлов.
С GNU Parallel :
parallel '[ -e Simulation.Run.{}.rds ] || echo {}' ::: {1..1000}
Это создает оператор test
для каждого ожидаемого файла и отображает его номер, если он не существует.
С diff
:
diff <(printf "Simulation.Run.%d.rds\n" $(seq 1000) | sort) <(ls Sim* | sort)
Создает псевдофайл, содержащий имена ожидаемых файлов, и другой псевдофайл с именами фактически присутствующих файлов и передает их в diff
.
С diff
и grep
:
seq 1000 | diff - <(ls Sim* | grep -Eo "\d+" | sort -n)
Создает список ожидаемых чисел в именах файлов и отправляет его на diff
для сравнения ссписок частей числа, извлеченных из имен файлов, которые фактически присутствуют в каталоге.