Sometimes you find yourself in a situation when, among a huge number of files on your computer or in a separate folder, you need to find files of a certain type. For example, images with the extension '.jpg' or documents with the extension '.txt', or even files that have the word 'butterfly' in their name. Doing this manually can be time-consuming. 'Matching' or patterns for searching files by a specific mask are just what you need for these sort of challenges.
This mission will help you understand how this works.
You need to find out if the given unix pattern matches the given filename.
Here is a small table that shows symbols that can be used in patterns.
|[seq]||matches any character in seq, for example  means any character - '1', '2' or '3'|
|[!seq]||matches any character not in seq, for example [!123] means any character except '1', '2' and '3'|
|||seq without any chars will never match|
Note that the expression in one pair of square brackets responds only for 1 character. So:
unix_match('0123', '[!abc]123') == True # but unix_match('00123', '[!abc]123') == False
Input: Two arguments. Both are strings.
assert unix_match("log1.txt", "log.txt") == True assert unix_match("log1.txt", "log[!1].txt") == False
How it is used: in the unix-shell.
Precondition: 0 < len(strings) < 100
CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.
In order to install CheckiO client you'll need installed Python (version at least 3.8)
Install CheckiO Client first:
pip3 install checkio_client
Configure your tool
checkio --domain=py config --key=
Sync solutions into your local folder
(in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)
checkio serv -d
Alternatevly, you can install Chrome extension or FF addon
checkio install-plugin --ff
checkio install-plugin --chromium