Linux命令返回所有以TEMP开头但不以两位数结尾的文件

use*_*573 6 ls wildcards files

返回所有以 TEMP 开头但不以两位数结尾的文件的 Linux 命令是什么?

我认为它应该是这样的:

ls -l TEMP*[!0-9][!0-9]
Run Code Online (Sandbox Code Playgroud)

但我的搜索结果似乎省略了一些结果。

Hau*_*ing 8

使用 GNU 和大多数现代 BSD find

find . -maxdepth 1 -type f -name 'TEMP*' ! -name "*[0-9][0-9]"
Run Code Online (Sandbox Code Playgroud)

POSIXly:

find . ! -name . -prune  -type f -name 'TEMP*' ! -name "*[0-9][0-9]"
Run Code Online (Sandbox Code Playgroud)

kshbash -O extglobzsh -o kshglob

ls -ld TEMP*@([^0-9]?|?[^0-9]) [T]EMP TEMP?
Run Code Online (Sandbox Code Playgroud)

  • extglob 解决方案将遗漏所有与“TEMP?”匹配的文件,以及文件“TEMP”本身。 (2认同)