我试图在一个凌乱的旧硬盘驱动器上复制大量图片,我无法在 Windows 文件资源管理器中打开(不要问......),我必须寻求帮助我亲爱的祖母。我可以用 Babun(很棒的 Windows shell)在其中导航。
到目前为止,我已经尝试过命令:
$ find /cygdrive/h/Documents\ and\ Settings -name '*.jpeg|png|JPEG' -exec cp '{}' /cygdrive/f/tof \;
$ find /cygdrive/h/Documents\ and\ Settings -name '*.(jpeg|png|JPEG)' -exec cp '{}' /cygdrive/f/tof \;
没有结果......我错过了什么吗?
find's
-name
predicate 采用 glob,而不是正则表达式。如果要将正则表达式与 一起使用
find
,请使用-regex
(或-iregex
不区分大小写)。例如:或者,使用括号对多个
-name
或-iname
谓词进行 OR,例如:注意:括号需要反斜杠转义,以防止 shell 将它们解释为对子 shell 的请求,从而导致
-bash: syntax error near unexpected token
('`我不认为find是解决此问题的合适工具,rsync可能会更好,但是如果您很高兴将所有文件都放在一个目录中,find 就可以了,但是您需要删除 {} 周围的单引号在命令行中,这意味着使用文字 {} 而不是文件名。