我想:
这就是我要结束的地方
#!/bin/bash
var=$(find /home -type f -exec stat \{} --printf="%y\n" \; |
sort -n -r |
head -n 1)
echo $var
sudo touch -d $var /home/foo
find /home/ -newer /home/foo
有人可以帮助我完成这些动作吗?
答案 0 :(得分:1)
使用inotifywait
来监视文件并检查更改
inotifywait -m -q -e modify --format "%f" {Path_To__Monitored_Directory}
此外,您还可以将其输出到文件,遍历其内容,并在每个条目上运行脚本。
inotifywait -m -q -e modify --format "%f" -o {Output_File} {Path_To_Monitored_Directory}
示例输出:
file1
file2
我们正在监视名为/tmp/dir
的目录,其中包含file1
和file2
。
以下脚本监视整个目录并回显文件名:
#!/bin/bash
while read ch
do
echo "File modified= $ch"
done < <(inotifywait -m -q -e modify --format "%f" /tmp/dir)
运行此脚本并修改file1
echo "123" > /tmp/dir/file1
,脚本将输出以下内容:
File modified= file1
您也可以查看此stackoverflow answer