1

我需要监视下载目录,并跟踪文件写入目录的顺序。我知道这在 macos 中可行的唯一方法是,但与linuxfswatch相比,文档似乎相当稀疏​​。inotifywatch

例如,如果001.jpgthen 003.jpgthen002.jpg被下载到目录(按该顺序),我需要一个看起来像这样的变量:001.jpg 003.jpg 002.jpg

在这种情况下,我只需要监视新文件,而不是修改过的文件。例如,如果001.jpg已修改,则不应将其移至列表末尾。

4

1 回答 1

0

将在文本文件handle_order.sh中保持顺序的Bash 脚本track_order

#!/bin/bash
echo "new file is added $1"
filename=$(basename ${1})
echo $filename
if [ $filename != "track_order.txt"  ]; then
echo "${filename}" >> track_order.txt
else
echo "order is updated"
fi

fswatch命令

fswatch ./DRS-1.1.0/ --event Created | xargs -I '{}' sh -c './handle_order.sh "$1"' - {}
  • (./DRS-1.1.0/)您需要监控的目录名称
  • (handle_order.sh)将处理订单并更新 track_order.txt 文件的 bash 脚本
  • (Created)只创建一个事件

更新:

删除handle_order.sh并作为单个命令运行

fswatch ./DRS-1.1.0/ --event Created | xargs -I '{}' sh -c 'filename=$(basename ${1});echo $filename;if [ $filename != "track_order.txt"  ]; then echo "${filename}" >> track_order.txt; else echo "order is updated";fi' - {}

在此处输入图像描述

于 2019-07-12T19:35:56.587 回答