如何过滤正则表达式(排除特殊字符)

如何过滤正则表达式(排除特殊字符)

假设我需要过滤所有不包含特殊字符的文件名称。

ASDA123fasf - would pass
asasdasd*dasd - wouldn't pass

答案1

其中一个替代方案是find . -maxdepth 1 -iregex '.*/[a-z0-9.]*' -ls

如果您认为可能需要经常使用它,您甚至可以创建一个别名来缩短命令:

笔记:尽管您可以轻松创建一个脚本来解析目录的命令行参数,但下面的别名仅在当前目录中有效。

alias myls="find . -maxdepth 1 -iregex '.*/[a-z0-9.]*' -ls"

如果你这样做了,每次发出命令时,myls你都会得到所需的输出,而无需额外输入。偷懒还是高效,由你决定。

资料来源: 字节指挥官在这里评论

https://stackoverflow.com/questions/4509624/how-to-limit-depth-for-recursive-file-list- 具体来说这个答案

man find

相关内容