Regex for find command to match files with a non-empty file extension -
i have series of files want clean .log files have been rotated. examples:
error.log access.log error.log-2016-02-05 access.log.1 debug.log debug.log--2 regex matching of log files with:
find . -regextype posix-extended -regex '^.*.log.*' how can match files have characters after *.log?
replace last occurrence of .* .+.
*matches 0 or more instances of previous character.+matches 1 or more instances.
you need escape . before log \, otherwise match character rather literal period.
in summary, use this:
find . -regextype posix-extended -regex '^.*\.log.+' a few other adjustments might useful:
you don't want match files empty filenames, should switch first
.*.+(thanks, jan!).you don't want allow files file extension
.log.(a single . character after.*log), should switch final.+\..+.
this give final command:
find . -regextype posix-extended -regex '^.+\.log\..+'
Comments
Post a Comment