linux – 找到和ls的通配符

linux – 找到和ls的通配符,第1张

概述我试图找出通配符进行文件 *** 作. 我有一个目录中的这些文件用于测试目的: file_BSD.GIF file_linux.gif file_unix 看我的ls命令, $ls *{.GIF,.gif}file_BSD.GIF file_linux.gif 哪个可以 但是“查找”似乎没有同样的作用: $find -name *{.GIF,.gif}find: paths must prece 我试图找出通配符进行文件 *** 作.

我有一个目录中的这些文件用于测试目的:

file_BSD.GIF  file_linux.gif  file_unix

看我的ls命令,

$ls *{.GIF,.gif}file_BSD.GIF  file_linux.gif

哪个可以

但是“查找”似乎没有同样的作用:

$find -name *{.GIF,.gif}find: paths must precede Expression: file_linux.gifUsage: find [-H] [-L] [-P] [-olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [Expression]

顺便说一句,我已经读过“-iname”应该找到大写和小写的文件,但这似乎也不起作用:

$find -iname *.gif./file_linux.gif

(这也应该找到.GIF文件,对吧?).

解决方法 find -name * {.GIF,.gif}是错误的.

这个命令首先被shell抛出,找到-name * .GIF * .gif

然后进一步扩大到

find -name file_BSD.GIF  file_linux.gif # as you have only these files in directory

现在这个-name file_BSD.GIF file_linux.gif被传递给find.这是错误的,因为没有像file_linux.gif这样的开关被find接受.

你需要的是这个命令.

find -name '*.GIF' -or -name '*.gif'

哪个是相同的

find -iname '*.gif'

在这里注意单引号(‘).这意味着* .GIF应该被发送,没有任何shell扩展.并找到将使用它作为模式.这个单引号是必要的,除非你转义shell元字符.在这种情况下,命令看起来就像

find -iname \*.gif
总结

以上是内存溢出为你收集整理的linux – 找到和ls的通配符全部内容,希望文章能够帮你解决linux – 找到和ls的通配符所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存