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

erc*_*rch 19 linux command-line ls options regular-expression

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

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

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

Gil*_*il' 16

手册

-I pattern, --ignore=pattern

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

     $ ls --ignore='.??*' --ignore='.[^.]' --ignore='#*'
Run Code Online (Sandbox Code Playgroud)

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

您只能使用 shell glob 模式*匹配任意数量的字符、?匹配任意一个字符、[…]匹配括号内的字符并\引用下一个字符。字符$代表自身(确保它在单引号内或前面有 a\以保护它免受 shell 扩展)。