Regex Bash:删除除最后10个日志文件以外的所有日志文件

Regex Bash:删除除最后10个日志文件以外的所有日志文件,regex,bash,file,Regex,Bash,File,我有一个自定义应用程序,它可以为每个订单创建日志文件。日志文件具有随机名称。我只想保留10个最新的文件 到目前为止,我在这里: ls -lrth /var/log/myapp/ | awk {'print $9'} | tail -n10 这个命令给出了10个最新文件的列表。现在,我想删除除这些文件以外的所有内容。有没有办法获取除这10个最新文件之外的所有文件的列表,或者如何删除除这10个文件以外的所有文件 干杯, 彼得 检查输出,如果满意,将echo替换为rm。此查找将提供除最后10个最新修

我有一个自定义应用程序,它可以为每个订单创建日志文件。日志文件具有随机名称。我只想保留10个最新的文件

到目前为止,我在这里:

ls -lrth /var/log/myapp/ | awk {'print $9'} | tail -n10
这个命令给出了10个最新文件的列表。现在,我想删除除这些文件以外的所有内容。有没有办法获取除这10个最新文件之外的所有文件的列表,或者如何删除除这10个文件以外的所有文件

干杯, 彼得


检查输出,如果满意,将echo替换为rm。

此查找将提供除最后10个最新修改的文件外的所有文件:

find . -exec stat --format="%X" + | sort -n | tail -n+10
使用
ls
的类似列表:

ls -lt|tail -n+10
ls -lt|tail -n+10