как найти файлы и выполнить на них программу - PullRequest
0 голосов
/ 26 марта 2019

Я пытался запустить программу в Linux с таким синтаксисом:

BET2 <input file> <output file>

Эта программа берет изображение и выполняет некоторую предварительную обработку, а затем сохраняет его в новом файле. Теперь я мог правильно запустить программу. Однако у меня есть около 1 миллиона изображений, и я не хочу запускать их по одному вручную.
Итак, мой вопрос, могу ли я сделать следующее:

  1. найти все изображения (файл .jpg) в текущем каталоге
  2. пусть каждое изображение (some.jpg) будет входом программы предварительной обработки и присваивает выходному имени нечто_processed.jpg

Ответы [ 2 ]

0 голосов
/ 26 марта 2019

Вы можете выполнить свою задачу, выполнив команду, подобную приведенной ниже:

cd "/path/to/the/folder/containing/your/images"
for CURRENT_IMAGE in `find *.jpg -maxdepth 0`; do
  echo "Preprocessing image file $CURRENT_IMAGE"
  # Your program that performs the image preprocessing 
  BET2 "$CURRENT_IMAGE" "${CURRENT_IMAGE}_processed.jpg"
done

Надеюсь, это поможет:)

0 голосов
/ 26 марта 2019

Вы можете использовать что-то вроде

 ls *.jpg | xargs -I{} BET2 {} processed_{}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...