Gem*_*sch 9 bash command-line sync dropbox
我正在寻找一种从命令行触摸目录(和子目录)中的每个文件的方法,因为我的错误,我的同步回购已经在我的开发机器上有点不合时宜.
我现在通过一些不愉快的巫术设法让它在一台机器上恢复到一个干净的状态,在我进行下一次同步之前,我想在这台机器上优先考虑所有时间.
有没有简单的方法来触摸所有文件?
或者我最好是手动同步目录?
(我正在使用Dropbox进行同步以供参考)
imp*_*p25 15
您可以使用find它xargs来触摸当前或指定目录或下面的每个文件:
find . -print0 | xargs -0 touch
Run Code Online (Sandbox Code Playgroud)
对于当前目录.对于指定的目录:
find /path/to/dir -print0 | xargs -0 touch
Run Code Online (Sandbox Code Playgroud)
该-print0选项find与一起-0选项xargs使命令强大的通过使分隔符空到文件带有空格的名称.
编辑:
正如Jeremy J Starchar在评论中所说的那样,上述内容仅适用于您find和xargsGNU工具链的一部分.如果您使用的是GNU工具系统,则可以使用:
find . -exec touch {} \;
Run Code Online (Sandbox Code Playgroud)
由dcgregorya编辑:
必须针对非常大的数据集执行此操作,我发现此命令(更快)更快.
find ./ -type d -print0 | xargs -I{} -0 bash -c "touch {}/*"
Run Code Online (Sandbox Code Playgroud)
限制找到找到文件夹然后执行触摸文件夹/*.