Sometimes you find yourself in a situation where 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.
Let me show you a couple of small examples of matching the filenames in the unix-shell. For example, * matches everything and *.txt matches all of the files that have txt extension. Here is a small table that shows symbols that can be used in patterns.
|?||matches any single character|
|[seq]||matches any character in seq|
|[!seq]||matches any character not in seq|
Input: Two arguments. Both are strings.
unix_match('somefile.txt', '*') == True unix_match('other.exe', '*') == True unix_match('my.exe', '*.txt') == False unix_match('log1.txt', 'log?.txt') == True unix_match('log1.txt', 'log.txt') == True unix_match('log12.txt', 'log?.txt') == False unix_match('log12.txt', 'log??.txt') == True
How it is used: in the unix-shell
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