![如何编写一个脚本来监视当前目录中 .pdf 或 .PDF 文件的创建?](https://linux22.com/image/193929/%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%E8%84%9A%E6%9C%AC%E6%9D%A5%E7%9B%91%E8%A7%86%E5%BD%93%E5%89%8D%E7%9B%AE%E5%BD%95%E4%B8%AD%20.pdf%20%E6%88%96%20.PDF%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%88%9B%E5%BB%BA%EF%BC%9F.png)
我们只需要显示每分钟创建的新文件。我可以使用 watch 和 find 命令来使用 newermt 查找新文件或查找特定扩展名的文件。但是,如何同时做到这两点。
答案1
快速了解您可以做什么bash
是:
$ cat myscript.sh
#!/usr/bin/bash
while true; do
timestamp=$(/usr/bin/date) # update of variable timestamp
sleep 60 # sleeps during 60s or 1min.
find . -maxdepth 1 -type f \( -name "*.pdf" -o -name "*.PDF" \) -newermt "$timestamp"
done
在要搜索其树的目录中运行脚本myscript.sh
(使用 使其可执行后)。chmod a+x myscript.sh
如果您想停止该脚本并在其在前台运行时停止它,则需要使用 CTRL+C 手动终止该脚本。如果您想要更详细的信息,您可以随时提出其他问题或搜索互联网。
请注意,根据您在目录树中的深度,您的find
命令可能需要时间来实际解析树,因此最终,使用这个简单的解决方案,您实际上可以每 60 秒或更长时间解析树文件,”多一点”是解析/统计文件所需的时间。如果这对您很重要,可以通过多种方法来纠正。