[英]Listing files without specific character in name on shell [closed]
如何获取没有特定字符的目录列表 f. 前任。 "p" 我试过: ls *[!p]*
但是 "p" 可以出现在 * 中,这个选项没用
您不能以这种方式使用通配符。 也不要试图解析ls
用grep -v
,从未解析ls
输出(带有空格,特殊字符和换行符的文件名)。
根据您可以使用的find
版本
find * -maxdepth 0 ! -name "*p*"
取决于你的外壳。 许多常见的支持否定模式作为 POSIX glob 语法的扩展。
鉴于:
$ ls
a b c
zsh
(如果尚未启用,则需要使用setopt
打开EXTENDED_GLOB
选项)和tcsh
:
$ ls ^*b*
a c
bash
(需要extglob
选项将被开启与shopt
如果尚未启用), zsh
(需要KSH_GLOB
和NO_BARE_GLOB_QUAL
选项进行开启与setopt
)和ksh93
:
$ ls !(*b*)
a c
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.