如何编写一个查找脚本,将特定目录中的文件向上移动两层,但前提是这些文件嵌套在该特定目录下?例如...我的 ipcamera 以非常糟糕的方式将文件保存到我的 NAS。它像这样嵌套。
/volume1
/ipcamera
/04302020
/dav
/01
/010000[m]01m01s.dav
/010202[m]01m04s.dav
/02
/020000[m]01m19s.dav
/04312020
/dav
/03
/030000[m]02m01s.dav
/030601[m]04m04s.dav
/08
/080000[m]01m11s.dav
etc....
我想将所有这些 .dav 文件移至日期文件夹。它们位于上两层。我假设类似这样的操作会起作用。
简而言之,日期目录下的所有 dav 文件都应向上移动两个文件夹。之前已移动且现在位于日期目录中的所有 dav 文件都不应再次向上移动两个文件夹(将来运行时)
find /volume1/ipcamera -iname '*.dav' -exec mv '{}' ../../ \;
但我的问题是,虽然它在第一次运行时技术上可以正常工作,但后续运行会将 04302020 目录中的所有文件再次向上移动两级。我如何限制它,以便只移动 /volume1/ipcamera 下至少两个目录的文件,以便随着日期的变化它可以自我调整(不触及日期文件夹中的任何 *.dav 文件(仅触及子目录中的 *.dav 文件)。