我有一个包含很多文件的目录。当前文件具有这种格式Application.log
,较旧的日志以这种方式重命名 - Application.log.06-05-2020.log
.我只需要列出名称中仅包含一次日志的文件。
答案1
LC_ALL=C find . -name '*.log' ! -name '*.log.*'
查找名称以 结尾.log
但不包含以下内容的文件.log.
作为一个zsh -o extendedglob
球体:
print -rC1 - (^*.log.*).log
或者(与上面的更接近find
):
print -rC1 - *.log~*.log.*
或者作为ksh
orzsh -o kshglob
或bash -O extglob
glob:
printf '%s\n' !(*.log.*).log
(将该dotglob
选项设置为还包括隐藏的选项)。