我正在尝试创建一个目录,该目录将包含所有且仅我从 LaTeX 编译的 PDF。我喜欢将每个项目放在一个单独的文件夹中,所有项目都放在一个名为LaTeX
. 所以我尝试运行:
rsync -avn *.pdf ~/LaTeX/ ~/Output/
Run Code Online (Sandbox Code Playgroud)
它应该找到所有的pdf~/LaTeX/
并将它们传输到输出文件夹。这不起作用。它告诉我没有找到“ *.pdf
”的匹配项。如果我省略此过滤器,该命令将列出 LaTeX 下所有项目文件夹中的所有文件。所以这是 *.pdf 过滤器的问题。我尝试用~/
我的主目录的完整路径替换,但这没有效果。
我正在使用 zsh。我尝试在 bash 中做同样的事情,甚至使用列出每个子目录中每个文件的过滤器......这里发生了什么?
为什么 rsync 不能理解我的 pdf only 过滤器?
好的。所以更新:不,我正在尝试
rsync -avn --include="*/" --include="*.pdf" LaTeX/ Output/
Run Code Online (Sandbox Code Playgroud)
这给了我整个文件列表。我猜是因为一切都匹配第一个模式......
该命令echo {1..3}-{1,2}
打印1-1 1-2 2-1 2-2 3-1 3-2
. 我了解可以使用这些花括号的方式。但它们究竟是什么?
sh
/的工作是bash
解析/扩展它们并将扩展版本交付给执行的程序吗?
如果是这样,它还能做什么其他技巧,是否有规范?
另外,有名字吗?
ls *.txt
内部是否以类似方式处理?
有没有办法实现一个论点的 n 次重复?喜欢(不工作,当然,只是一个概念)cat test.pdf{*3}
:?cat test.pdf test.pdf test.pdf
?