In my folder I got files like
/data/filename.log
/data/filename.log.1
/data/filename.log.2
/data/filenamefilenamefilename.log
/data/filenamefilenamefilename.log.2
I wish to use "find" command to list out files where length is greater than 15 characters.
I have tried the following, but none of them work:
find ./ -type f -iregex "/^.*{15,1000}$/" -print
find ./ -type f -iregex "/^.*{15}$/" -print
find ./ -type f -iregex "^.*{15}$" -print
find ./ -type f -iregex ".*{15}" -print
find ./ -type f -iregex ".{15}" -print
find ./ -type f -iregex ".{15,1000}" -print
Not sure what is the correct way?
Thanks!
Best Answer
I'd suggest Paul's version if you want to match on file name only. If you want to use
-regex
to match on the complete path, you can do e.g.or for 15 or more characters
Check the man page for the different available regexp engines to use with
-regextype
.You can also use the
-regex
option to look for only file names at 15 characters:or 15 or more characters: