Paul Campbell
cb9ae3ca5e
Reviewed-on: #10 Co-authored-by: Paul Campbell <pcampbell@kemitix.net> Co-committed-by: Paul Campbell <pcampbell@kemitix.net> |
||
---|---|---|
src | ||
tests | ||
.gitignore | ||
.woodpecker.yml | ||
Cargo.lock | ||
Cargo.toml | ||
justfile | ||
README.md | ||
renovate.json | ||
test.sh |
skip
Skip part of a file.
As head
will show the top of a file up-to a number of line,
so skip
will do the opposite, and not show the top of the file,
but will show the rest.
Additionally, it can check for whole lines matching, or for a token being present on the line.
N.B.: The skip
crate used to be an implementation of Skip list,
by Luo Jia / Zhouqi Jiang (source).
That crate will be republished as skip-list (soon).
Usage
Skip a fixed number of lines
This example reads the file from stdin.
echo "line 1
line 2
line 3
line 4" > input.txt
skip 2 < input.txt
Will output:
line 3
line 4
Skip until a number of matching lines
The whole line must match.
This example reads the named file.
echo "alpha
beta
alpha
alpha
gamma
alpha" > input.txt
skip 2 --line alpha input.txt
Will output:
alpha
gamma
alpha
Skip lines until a number of tokens are seen
Looks for a string within a line, counting each occurance.
This example reads the file from stdin.
echo "Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.
Ut enim ad minim veniam,
quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea
commodo consequat." > input.txt
cat input.txt | skip 2 --token dolor
Will output:
Ut enim ad minim veniam,
quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea
commodo consequat.
It matches the first dolor
on line 1,
and the second on line 4 as part of the word dolore
.
Skip lines until a lines with tokens are seen
Looks for a string within a line, only counting each matching line once.
This example reads the file from stdin.
echo "Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.
Ut enim ad minim veniam,
quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea
commodo consequat." > input.txt
cat input.txt | skip 4 --token m --ignore-extras
Will output:
quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea
commodo consequat.
Without --ignore-extras
, it would have found the fourth m
on line 3.
echo "Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.
Ut enim ad minim veniam,
quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea
commodo consequat." > input.txt
cat input.txt | skip 4 --token m
Outputing:
ut labore et dolore magna aliqua.
Ut enim ad minim veniam,
quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea
commodo consequat.