簡體   English   中英

正則表達式用於bash中包含日期格式和.zip擴展名的備份文件

[英]Regex for backup files that contains date format and .zip extension in bash

我是bash的新手,需要幫助來選擇具有特定日期格式和.zip擴展名的文件。 我想使用正則表達式選擇正確的文件。 以下是我要選擇的文件格式

2017-Apr-13--2315.zip

因此,基本上,年份,月份(用3個字母表示),日期和備份發生的時間,即.zip擴展名前的4位數字。 我正在為Regex101做好准備

最終,我想選擇正確的文件並刪除所有備份,但保留最新的6個備份。 我正在使用的命令如下

find . -maxdepth 1 -type f | tac | tail -n +7 | xargs rm -rf

但是目錄中還有其他文件不是備份文件。 所以我需要選擇正則表達式匹配上面我提供的文件格式的正確文件。

以下regex可能與find

find . -regextype egrep -iregex '.*/[0-9]{4}-[a-z]{3}-[0-9]{2}--[0-9]{4}\.zip$'

要刪除匹配文件,可以使用:

find . -regextype egrep -iregex '.*/[0-9]{4}-[a-z]{3}-[0-9]{2}--[0-9]{4}\.zip$' -delete

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM