繁体   English   中英

在shell上列出名称中没有特定字符的文件[关闭]

[英]Listing files without specific character in name on shell [closed]

如何获取没有特定字符的目录列表 f. 前任。 "p" 我试过: ls *[!p]*但是 "p" 可以出现在 * 中,这个选项没用

您不能以这种方式使用通配符。 也不要试图解析lsgrep -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_GLOBNO_BARE_GLOB_QUAL选项进行开启与setopt )和ksh93

$ ls !(*b*)
a  c

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM