├── .circleci
└── config.yml
├── .gitignore
├── Makefile
├── README.md
└── main.c
/.circleci/config.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 |
3 | workflows:
4 | version: 2
5 | compile:
6 | jobs:
7 | - build
8 |
9 | jobs:
10 | build:
11 | docker:
12 | - image: gcc:8.2
13 | steps:
14 | - checkout
15 | - run: make slice
16 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .vscode/
2 | .DS_Store
3 | slice
4 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | CC ?= clang
2 |
3 | .PHONY: all install uninstall clean
4 |
5 | all: slice
6 |
7 | slice: main.c
8 | $(CC) main.c -std=c99 -o slice -Wall -Wextra -O3
9 |
10 | install: slice
11 | cp slice /usr/local/bin/slice
12 |
13 | uninstall:
14 | rm -f /usr/local/bin/slice
15 |
16 | clean:
17 | rm -f slice
18 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 🍕 slice
2 |
3 | A no-nonsense tool to copy a blob of data from one file to another.
4 |
5 | Opens `input`, seeks to `start`, reads `length` bytes, and writes them to `output`.
6 |
7 | ## Options
8 |
9 | ```
10 | -i,--input
11 | Source file path to read from.
12 | [required]
13 |
14 | -o,--output