Ubuntu BASH inotifywait для запуска другого скрипта

Я пытаюсь использовать inotifywait в скрипте bash, чтобы отслеживать каталог для файла с определенным тегом в нем (*SDS.csv).

Я также хочу выполнить только один раз (один раз, когда файл записывается в каталог данных).

пример:

#! /bin/bash
inotifywait -m -e /home/adam/data | while read LINE
do
  if [[ $LINE == *SDS.csv ]]; then
     ./another_script.sh
  fi
done

1 ответ

Хотя это не может быть идеальным решением, оно может сделать свое дело:

#! /bin/bash
while true
do
    FNAME="$(inotifywait -e close_write /home/adam/data | awk '{ print $NF }')"

    if [ -f "/home/adam/data/$FNAME" ]
    then
      if grep -q 'SDS.csv' "/home/adam/data/$FNAME"
      then
         ./another_script.sh
      fi
    done
done
Другие вопросы по тегам