ls --hide =和ls --ignore =的语法


16

ls --hidels --ignore提供了省略通过--ignore=零件后设置的正则表达式定义的文件的可能性。后者确保不会通过禁用此选项-a, -A。该命令maninfo页面提到了正则表达式。

问题ls --hide=和中支持哪些通配符或正则表达式ls --ignore=

我发现它* $ ?以及POSIX Bracket Expressions似乎都受支持。但这似乎并非一直都能正常工作,对我来说更像是反复试验的游戏。我在这里错过了重要的事情吗?



有点相关,但是这个问题是专门针对的,--ignore而您引用的问题是关于emacs的,--ignore仅在答案中提及。
bahamat

Answers:


12

手册

-I pattern--ignore=pattern

在目录中,忽略名称与外壳模式(不是正则表达式)模式匹配的文件。与在Shell中一样,.文件名的首字母与模式开头的通配符不匹配。有时多次给出此选项很有用。例如,

     $ ls --ignore='.??*' --ignore='.[^.]' --ignore='#*'

第一个选项忽略以3或更长的长度开头的名称,第二个选项忽略..except 开头的所有两个字符的名称,..第三个选项忽略以开头的长度的两个字符#

您只能使用Shell Glob模式*匹配任意数量的字符,?匹配任意一个字符,[…]匹配括号内的字符并\引用下一个字符。字符$代表自身(确保它在单引号内或前面带有a,\以防止它受到外壳扩展的影响)。


0

它使用POSIX.2正则表达式模式格式。有关re_format(7)详细信息,请参见手册页


这就是我所说的POSIX括号表达式的确切含义:)
erch 2013年

我想我的意思是告诉您只阅读手册页。
bahamat
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.