0

我正在尝试在 bash 脚本中使用 inotifywait 来监视目录中包含特定标记的文件 (*SDS.csv)。

我也只想执行一次(文件写入目录数据时一次)。

例子:

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

1 回答 1

0

虽然这可能不是理想的解决方案,但它可以解决问题:

#! /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
于 2014-11-04T04:05:54.640 回答