#replace #find #file #match #arguments #match-case #multi-lines

bin+lib matchpick

Find and replace multi-lines using a match-case

1 unstable release

0.1.1 Apr 8, 2024

#30 in #match


Used in homux

Unlicense

10KB
199 lines

Find and replace multi-lines using a match-case

Usage: matchpick [OPTIONS] [FILE]

Arguments:
  [FILE]  Read from file (otherwise from stdin)

Options:
  -m, --match <MATCH_AGAINST>          Match against
  -s, --start-pattern <START_PATTERN>  Pattern to start matching and switch cases [default: ~>>>]
  -e, --end-pattern <END_PATTERN>      Pattern to end matching [default: ~<<<]
  -o, --output <OUTPUT>                Output to file (otherwise to stdout)
      --print-start                    Print default starting pattern
      --print-end                      Print default ending pattern
  -h, --help                           Print help
  -V, --version                        Print version

As an example, the input:

start
~>>>
default output
~>>> eggs
foo, foo
~>>> spam
foo? bar!
foo... baz.
~<<<
end

Produces with default arguments:

start
default output
end

Produces with --match eggs:

start
foo, foo
end

Produces with --match spam:

start
foo? bar!
foo... baz.
end

Produces with --match something_else:

start
default output
end

Dependencies

~1.4–2MB
~38K SLoC