歌代 和正 (Kaz Utashiro)
and 2 contributors

NAME

subst - Greple module for text search and substitution

VERSION

Version 2.06

SYNOPSIS

greple -Msubst --dict dictionary [ options ]

  --check=[ng,ok,any,outstand,all]
  --select=N
  --linefold
  --stat
  --diff
  --diffcmd command
  --replace
  --create
  --[no-]warn-overlap
  --[no-]warn-include

DESCRIPTION

This greple module supports search and substitution for text based on dictionary file.

Dictionary file is given by --dict option and contains pattern and correct string pairs.

    greple -Msubst --dict DICT

If the dictionary file contains following data:

    colou?r      color
    cent(er|re)  center

Then above command find first pattern which does not match to second string, that is "colour" and "centre" in this case.

Field "//" in dictionary file is ignored, so this file can be written like this:

    colou?r      //  color
    cent(er|re)  //  center

You can use same file by greple's -f option and string after "//" is ignored as a comment in that case.

    greple -f DICT ...

Overlapped pattern

When the matched string is same or shorter than previously matched string by another pattern, it is simply ignored (--no-warn-include by default). So, if you have to declare conflicted patterns, put the longer pattern in front.

If the matched string overlaps with previously matched string, it is warned (--warn-overlap by default) and ignored.

OPTIONS

--check=ng|ok|any|outstand|all|none

Option --check takes argument from ng, ok, any, outstand, all and none.

With default value outstand, command will show information about correct and incorrect words only when incorrect word was found in the same file.

With value ng, command will show information only about incorrect word. If you want to get data for correct word, use ok or any.

Value all and none make sense only when used with --stat option, and display information about never matched pattern.

--select=N

Select Nth entry from the dictionary. Argument is interpreted by Getopt::EX::Numbers module. Range can be defined like --select=1:3,7:9.

--linefold

If the target data is folded in the middle of text, use --linefold option. It creates regex patterns which matches string spread across lines. Substituted text does not include newline, though. Because it confuses regex behavior somewhat, avoid to use if possible.

--stat
--with-stat

Print statistical information. By default, it only prints information about incorrect words. Works with --check option.

Option --with-stat print statistics after normal output, while --stat print only statistics.

--subst

Substitute matched pattern to correct string. Pattern without replacement string is not changed.

--diff
--diffcmd=command

Option -diff produce diff output of original and converted text.

Specify diff command name used by --diff option. Default is "diff -u".

--replace

Replace the target file by converted result. Original file is renamed to backup name with ".bak" suffix.

--create

Create new file and write the result. Suffix ".new" is appended to original filename.

--[no-]warn-overlap

Warn overlapped pattern. Default on.

--[no-]warn-include

Warn included pattern. Default off.

LICENSE

Copyright (C) Kazumasa Utashiro.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

https://github.com/kaz-utashiro/greple

https://github.com/kaz-utashiro/greple-subst

AUTHOR

Kazumasa Utashiro