mtool - Command-Line Tool
Alat baris perintah serbaguna untuk pemrosesan teks, dengan subperintah, konfigurasi runtime, logging, dan unit test.
Struktur Kode #
| File | Tanggung Jawab |
|---|---|
cli.h/.c | Parsing argumen + subperintah |
config.h/.c | Loader file konfigurasi .mtoolrc |
file_processor.h/.c | Operasi file: head, tail, stats, grep |
logger.h/.c | Logger dengan level DEBUG/INFO/WARN/ERROR |
main.c | Entry point + dispatch subperintah |
tests.c | Unit test |
Build #
bash
make # Bangun tool utama
make test # Jalankan unit test
./mtool help # Tampilkan usageSubperintah #
| Subperintah | Fungsi |
|---|---|
count FILE | Hitung jumlah baris di FILE |
head -n N FILE | Cetak N baris pertama (default 10) |
tail -n N FILE | Cetak N baris terakhir |
stats FILE | Cetak jumlah baris, kata, karakter |
grep PATTERN [-i] FILE | Cetak baris yang mengandung PATTERN |
help | Tampilkan pesan bantuan |
version | Tampilkan versi |
File Konfigurasi .mtoolrc #
Bila file .mtoolrc ada di direktori kerja saat ini, tool memuat opsi:
ini
# Konfigurasi mtool
log_level = DEBUG # DEBUG | INFO | WARN | ERROR
default_count = 25 # default untuk head/tailContoh Sesi #
bash
$ echo -e "alpha\nbeta\ngamma\ndelta" > /tmp/sample.txt
$ ./mtool head -n 2 /tmp/sample.txt
alpha
beta
$ ./mtool stats /tmp/sample.txt
4 baris 4 kata 23 karakter /tmp/sample.txt
$ ./mtool grep -i GAMMA /tmp/sample.txt
gamma