使用ls来查找与某种模式匹配的所有文件
我试图找到所有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文件),**模式对所有人都不起作用. 这可能会影响我,我该如何补救(理想情况下没有超级用户权限)?可能(或一些相关问题)也会影响extglob功能? 解决方法
你可能想考虑发现
find . -name '*.pdf' -exec ls -l {} ; 要么 find . -name '*.pdf' -ls 在哪里是您当前的工作目录. glob功能带有4.0 bash. glob扩展名是不可移植的,换句话说. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |