列出所有扩展名为 .log 的文件,除了一个

Jav*_*rón 4 ls bash

我想列出所有带有扩展名的文件,.log除了文件backup.log.

我试过使用这个命令:

ls *.log -I "backup.log"
Run Code Online (Sandbox Code Playgroud)

但是所有的日志文件都列出来了,甚至backup.log

我怎么能列出所有日志文件,除了backup.log

cho*_*oba 10

shell 扩展了通配符,因此作为参数之一ls获取backup.log

使用扩展模式(由 启用shopt -s extglob):

ls !(backup).log
Run Code Online (Sandbox Code Playgroud)


Ulr*_*arz 6

一种可能性是:

 find . -maxdepth 1 -mindepth 1 -name \*.log -a -not -name backup.log
Run Code Online (Sandbox Code Playgroud)

即在当前目录或下面找到所有文件,精确深度为 1(所以实际上只在当前目录中而不是当前目录本身的名称),名称与模式匹配*.log而不是backup.log