Contents
grp
is a Unix CLI that facilitates breaking text into groups of characters with a variety of options
and also offers formatting numbers with digit grouping (thousands separators) based on the active locale.
See the examples below, concise usage information further below, or read the manual.
# By default, break a string into space-separated groups of 3 chars.,
# starting from the right (end).
$ grp 1000000 2000
1 000 000
2 000
# Use proper number formatting (separation with locale-specific thousands
# separators) with -n; example output from the U.S. English locale:
$ grp -n 1000000 1999.99
1,000,000
1,999.99
# Break input into lines of 3 characters each, starting from the left:
$ grp -c 3 -s $'\n' -l abcdefgh
abc
def
gh
# Insert a '.' between characters:
$ grp -c 1 -s . abcdef
a.b.c.d.e.f
# Enclose each character in square brackets:
$ grp -c 1 -f '[%s]' abc
[a][b][c]
# Format text as a US telephone number:
$ echo '6085277865' | grp -f '+1 (%s) %s-%s' -c 3,3,4
+1 (608) 527-7865
# Break the input into repeating groups of 2 and 1 char. each:
$ grp -l -c 2,1+ -s / abcdefgh
ab/c/de/f/gh
Supported platforms
- When installing from the npm registry: Linux and OSX
- When installing manually: any Unix-like platform with Bash
With Node.js or io.js installed, install the package as follows:
[sudo] npm install grp-cli -g
Note:
- Whether you need
sudo
depends on how you installed Node.js / io.js and whether you've changed permissions later; if you get anEACCES
error, try again withsudo
. - The
-g
ensures global installation and is needed to putgrp
in your system's$PATH
.
- Download the CLI as
grp
. - Make it executable with
chmod +x grp
. - Move it or symlink it to a folder in your
$PATH
, such as/usr/local/bin
(OSX) or/usr/bin
(Linux).
Find concise usage information below; for complete documentation, read the manual online or,
once installed, run man grp
(grp --man
if installed manually).
$ grp --help
Format numbers with digit grouping:
grp -n [-t <term>] [<num>...]
Break text into groups of characters:
grp [-l | -r] [-c <count>] [-s <sep> | -f <fmt>] [-t <term>] [<txt>...]
Options:
-n apply locale-aware digit grouping to input numbers
-t <term> terminator to append to each argument's result; default: \n
-l, -r start grouping from left / right (default)
-c <count> count of chars. per group - may be comma-separated list
-s <sep> either: separator to place between groups; default: a space
-f <fmt> or: printf-style format string to apply to groups
Copyright (c) 2015-2016 Michael Klement mklement0@gmail.com (http://same2u.net), released under the MIT license.
This project gratefully depends on the following open-source components, according to the terms of their respective licenses.
npm dependencies below have optional suffixes denoting the type of dependency; the absence of a suffix denotes a required run-time dependency: (D)
denotes a development-time-only dependency, (O)
an optional dependency, and (P)
a peer dependency.
Versioning complies with semantic versioning (semver).
-
v0.1.4 (2016-06-05):
- [fix] When using
-n
to group numbers, the-t
option is now respected. - [enhancement] Improved detection of invalid numbers when using
-n
.
- [fix] When using
-
v0.1.3 (2015-09-17):
- [doc]
grp
now comes with a man page (invoke withgrp --man
in case of manual installation);grp -h
now just prints concise usage info.
- [doc]
-
v0.1.2 (2015-09-15):
- [dev] Makefile improvements; various other behind-the-scenes tweaks.
-
v0.1.1 (2015-06-13):
- [doc] Read-me fixed and amended.
-
v0.1.0 (2015-06-13):
- Initial release.