相关疑难解决方法(0)

为什么我的正则表达式适用于 X 而不适用于 Y?

我写了一个正则表达式,它在某个程序(grep、sed、awk、perl、python、ruby、ksh、bash、zsh、find、emacs、vi、vim、gedit 等)中运行良好。但是当我在不同的程序(或不同的 unix 变体)中使用它时,它会停止匹配。为什么?

regular-expression wildcards

94
推荐指数
1
解决办法
1万
查看次数

用 ls 匹配 n 个字母的文件名

ls在 bash 中使用该命令,试图查找长度为 n 的所有文件或目录。假设 n=5

我的命令是:

ls ?????
Run Code Online (Sandbox Code Playgroud)

但这也包括非字母字符,例如句点。例如,以下文件将匹配:

ab.cd    
abd.c
Run Code Online (Sandbox Code Playgroud)

我只想匹配具有 5 个字母或数字名称的文件:

five1
five2    
five3
Run Code Online (Sandbox Code Playgroud)

但不是

abc.d    
ab.cd    
a.bcd
Run Code Online (Sandbox Code Playgroud)

如何修改我的命令?

找到答案:

ls [a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]
Run Code Online (Sandbox Code Playgroud)

我找到了答案,但我怎样才能让它不那么难看?

ls bash

1
推荐指数
3
解决办法
9291
查看次数

标签 统计

bash ×1

ls ×1

regular-expression ×1

wildcards ×1