我试图在一些文件夹和任何子文件夹中找到所有PDF文件,只是在终端中,而不是在脚本中.我对linux也很陌生,所以如果我错过任何明显的事情,或者对诊断我的特定问题至关重要,请道歉.
我正在使用bash 4.1.5(1)-release(i486-pc-linux-gnu),并且在google上做了一些关于glob和extglob表达式的讨论,看来我应该使用的语法是
$ ls **.pdf
Run Code Online (Sandbox Code Playgroud)
然而,这没有任何结果,因为没有文件匹配*.pdf当前文件夹中的模式./; 它似乎想读**作*:
ls: cannot access **.pdf: No such file or directory
Run Code Online (Sandbox Code Playgroud)
在其他地方有PDF,在1到5深的子文件夹中(特别是在每个子文件夹1深),其中一些我可以通过检查看到
$ ls */*.pdf
Run Code Online (Sandbox Code Playgroud)
因此,ls似乎工作正常.它的手册似乎不是很有帮助,因为我所能看到的可能是任何使用我们ls用-R旗帜调用的东西,这在上述任何一种情况下都没有解决问题.
我尝试使用extglob模式(确保打开它们shopt).我可以看到我的深度-1文件有ls */*?(.)pdf,但我看不到任何与ls .*(/*)pdf或ls .*(/*).pdf,甚至那里有一个PDF文件子目录中.
我在其他地方(参考.gitignoregit存储库中的文件)中读到该**模式并不适用于所有人.
这可能会影响我,我如何解决它(理想情况下没有超级用户权限)?可能这个(或一些相关问题)也会影响extglob功能吗?