我试图找到所有PDF文件在一些文件夹和任何子文件夹,只是在终端,而不是在一个脚本.我也是
linux的新手,所以道歉,如果我错过了任何明显的事情,或者对于诊断我的特定问题也许至关重要.
我正在使用bash 4.1.5(1)-release(i486-pc-linux-gnu),并且在google上做了一些关于glob和extglob表达式的一些问题,似乎我应该使用的语法是
$ls **.pdf
因为没有任何文件匹配当前文件夹中的模式* .pdf ./;它似乎要读取**为*:
ls: cannot access **.pdf: No such file or directory
在其他地方有PDF,在1到5深的子文件夹(特别是每个子文件夹1深)中,其中一些可以通过检查
$ls */*.pdf
因此,ls似乎正常工作.它的手册看起来不是很有帮助,因为我可以看到这可能是使用我们使用-R标志来调用ls的,这在上述任何情况下都不能解决问题.
我尝试使用extglob模式(确保使用shopt打开它们).我可以用ls * / *?(.)pdf看到我的深度1文件,但我看不到有ls.*(/ *)pdf或ls.*(/ *).pdf的内容有PDF的子目录
我已经阅读别的地方(在git仓库中引用.gitignore文件),**模式对所有人都不起作用.
解决方法
你可能想考虑发现
find . -name '*.pdf' -exec ls -l {} \;
要么
find . -name '*.pdf' -ls
在哪里是您当前的工作目录. glob功能带有4.0 bash. glob扩展名是不可移植的,换句话说.