shell - UNIX 无法归档文件
问题描述
我在一个目录下有以下文件。
ABC_2019-01-01.zip
ABC_2019-01-02.zip
ABC_2019-01-03.zip
.
.
.
ABC_2019-01-31.zip
.
.
XYZ_2019-01-01.zip
XYZ_2019-01-02.zip
XYZ_2019-01-03.zip
.
.
.
XYZ_2019-01-31.zip
假设今天的日期是 2019-01-31,那么我只想保留今天的 ABC 文件,即 ABC_2019-01-31.zip,保留所有 XYZ 文件(不考虑日期)并删除所有不包含今天日期的 ABC 文件。
输出应该是:
ABC_2019-01-31.zip
.
.
XYZ_2019-01-01.zip
XYZ_2019-01-02.zip
XYZ_2019-01-03.zip
.
.
.
XYZ_2019-01-31.zip
解决方案
假设您已$date
填写:
date=$(date %+m-%d-%Y)
在 bash 中,您可以使用扩展的 glob 来排除匹配项:
shopt -s extglob
rm ABC_!("$date").zip
或者在您可以使用的任何外壳中find
:
find dir/ -name 'ABC_*.zip' ! -name "ABC_$date.zip" -delete
如果-delete
在您的平台上不可用,请使用:
find dir/ -name 'ABC_*.zip' ! -name "ABC_$date.zip" -exec rm {} \;
推荐阅读
- kubernetes - 为 Kubernetes Deployment 中的每个副本绑定不同的 Persistent Volume
- java - How can i print the backward in staircase problem?
- reactjs - Reducer always returning initial state React-native
- view - LATERAL VIEW and CASE Statement in KSQL
- javascript - Sequelize. How to find with many parameters
- android - How can I create a CardView and ImageView with a rounded border?
- sql - Min/Max timestamp of a slow changing dimension
- asp.net - Secure Connection Failed. The page you are trying to view cannot be shown because the authenticity of the received data could not be verified
- python - speed up regex finditer for large dataset
- python - Sorting by columns after grouping generating error