Skip to content

Commit 79206db

Browse files
committed
updated docs, added joinstring, hasprefix, hassuffix, trimprefix, trimsuffix, toupper, tolower, totitle
1 parent f4d6ebf commit 79206db

File tree

99 files changed

+3594
-750
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+3594
-750
lines changed

Makefile

Lines changed: 119 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -7,77 +7,109 @@ VERSION = $(shell grep -m1 'Version = ' $(PROJECT).go | cut -d\` -f 2)
77

88
BRANCH = $(shell git branch | grep '* ' | cut -d\ -f 2)
99

10-
build: bin/csvcols bin/csvrows bin/csvfind bin/csvjoin bin/jsoncols bin/jsonrange bin/xlsx2json bin/xlsx2csv bin/csv2mdtable bin/csv2xlsx bin/csv2json bin/vcard2json bin/jsonjoin bin/jsonmunge bin/findfile bin/finddir bin/mergepath bin/reldate bin/range bin/timefmt bin/urlparse bin/splitstring bin/csvcleaner
10+
OS = $(shell uname)
1111

12+
EXT =
13+
ifeq ($(OS), Windows)
14+
EXT = .exe
15+
endif
1216

13-
bin/csvcols: datatools.go cmds/csvcols/csvcols.go
14-
go build -o bin/csvcols cmds/csvcols/csvcols.go
1517

16-
bin/csvrows: datatools.go cmds/csvrows/csvrows.go
17-
go build -o bin/csvrows cmds/csvrows/csvrows.go
18+
build$(EXT): bin/csvcols$(EXT) bin/csvrows$(EXT) bin/csvfind$(EXT) bin/csvjoin$(EXT) bin/jsoncols$(EXT) bin/jsonrange$(EXT) bin/xlsx2json$(EXT) bin/xlsx2csv$(EXT) bin/csv2mdtable$(EXT) bin/csv2xlsx$(EXT) bin/csv2json$(EXT) bin/vcard2json$(EXT) bin/jsonjoin$(EXT) bin/jsonmunge$(EXT) bin/findfile$(EXT) bin/finddir$(EXT) bin/mergepath$(EXT) bin/reldate$(EXT) bin/range$(EXT) bin/timefmt$(EXT) bin/urlparse$(EXT) bin/splitstring$(EXT) bin/joinstring$(EXT) bin/hasprefix$(EXT) bin/hassuffix$(EXT) bin/trimprefix$(EXT) bin/trimsuffix$(EXT) bin/tolower$(EXT) bin/toupper$(EXT) bin/totitle$(EXT) bin/csvcleaner$(EXT)
1819

19-
bin/csvjoin: datatools.go cmds/csvjoin/csvjoin.go
20-
go build -o bin/csvjoin cmds/csvjoin/csvjoin.go
2120

22-
bin/jsoncols: datatools.go cmds/jsoncols/jsoncols.go
23-
go build -o bin/jsoncols cmds/jsoncols/jsoncols.go
21+
bin/csvcols$(EXT): datatools.go cmds/csvcols/csvcols.go
22+
go build -o bin/csvcols$(EXT) cmds/csvcols/csvcols.go
2423

25-
bin/jsonrange: datatools.go cmds/jsonrange/jsonrange.go
26-
go build -o bin/jsonrange cmds/jsonrange/jsonrange.go
24+
bin/csvrows$(EXT): datatools.go cmds/csvrows/csvrows.go
25+
go build -o bin/csvrows$(EXT) cmds/csvrows/csvrows.go
2726

28-
bin/xlsx2json: datatools.go cmds/xlsx2json/xlsx2json.go
29-
go build -o bin/xlsx2json cmds/xlsx2json/xlsx2json.go
27+
bin/csvjoin$(EXT): datatools.go cmds/csvjoin/csvjoin.go
28+
go build -o bin/csvjoin$(EXT) cmds/csvjoin/csvjoin.go
3029

31-
bin/xlsx2csv: datatools.go cmds/xlsx2csv/xlsx2csv.go
32-
go build -o bin/xlsx2csv cmds/xlsx2csv/xlsx2csv.go
30+
bin/jsoncols$(EXT): datatools.go cmds/jsoncols/jsoncols.go
31+
go build -o bin/jsoncols$(EXT) cmds/jsoncols/jsoncols.go
3332

34-
bin/csv2mdtable: datatools.go cmds/csv2mdtable/csv2mdtable.go
35-
go build -o bin/csv2mdtable cmds/csv2mdtable/csv2mdtable.go
33+
bin/jsonrange$(EXT): datatools.go cmds/jsonrange/jsonrange.go
34+
go build -o bin/jsonrange$(EXT) cmds/jsonrange/jsonrange.go
3635

37-
bin/csv2xlsx: datatools.go cmds/csv2xlsx/csv2xlsx.go
38-
go build -o bin/csv2xlsx cmds/csv2xlsx/csv2xlsx.go
36+
bin/xlsx2json$(EXT): datatools.go cmds/xlsx2json/xlsx2json.go
37+
go build -o bin/xlsx2json$(EXT) cmds/xlsx2json/xlsx2json.go
3938

40-
bin/csv2json: datatools.go cmds/csv2json/csv2json.go
41-
go build -o bin/csv2json cmds/csv2json/csv2json.go
39+
bin/xlsx2csv$(EXT): datatools.go cmds/xlsx2csv/xlsx2csv.go
40+
go build -o bin/xlsx2csv$(EXT) cmds/xlsx2csv/xlsx2csv.go
4241

43-
bin/csvfind: datatools.go cmds/csvfind/csvfind.go
44-
go build -o bin/csvfind cmds/csvfind/csvfind.go
42+
bin/csv2mdtable$(EXT): datatools.go cmds/csv2mdtable/csv2mdtable.go
43+
go build -o bin/csv2mdtable$(EXT) cmds/csv2mdtable/csv2mdtable.go
4544

46-
bin/vcard2json: datatools.go cmds/vcard2json/vcard2json.go
47-
go build -o bin/vcard2json cmds/vcard2json/vcard2json.go
45+
bin/csv2xlsx$(EXT): datatools.go cmds/csv2xlsx/csv2xlsx.go
46+
go build -o bin/csv2xlsx$(EXT) cmds/csv2xlsx/csv2xlsx.go
4847

49-
bin/jsonmunge: datatools.go cmds/jsonmunge/jsonmunge.go
50-
go build -o bin/jsonmunge cmds/jsonmunge/jsonmunge.go
48+
bin/csv2json$(EXT): datatools.go cmds/csv2json/csv2json.go
49+
go build -o bin/csv2json$(EXT) cmds/csv2json/csv2json.go
5150

52-
bin/jsonjoin: datatools.go cmds/jsonjoin/jsonjoin.go
53-
go build -o bin/jsonjoin cmds/jsonjoin/jsonjoin.go
51+
bin/csvfind$(EXT): datatools.go cmds/csvfind/csvfind.go
52+
go build -o bin/csvfind$(EXT) cmds/csvfind/csvfind.go
5453

55-
bin/findfile: datatools.go cmds/findfile/findfile.go
56-
go build -o bin/findfile cmds/findfile/findfile.go
54+
bin/vcard2json$(EXT): datatools.go cmds/vcard2json/vcard2json.go
55+
go build -o bin/vcard2json$(EXT) cmds/vcard2json/vcard2json.go
5756

58-
bin/finddir: datatools.go cmds/finddir/finddir.go
59-
go build -o bin/finddir cmds/finddir/finddir.go
57+
bin/jsonmunge$(EXT): datatools.go cmds/jsonmunge/jsonmunge.go
58+
go build -o bin/jsonmunge$(EXT) cmds/jsonmunge/jsonmunge.go
6059

61-
bin/mergepath: datatools.go cmds/mergepath/mergepath.go
62-
go build -o bin/mergepath cmds/mergepath/mergepath.go
60+
bin/jsonjoin$(EXT): datatools.go cmds/jsonjoin/jsonjoin.go
61+
go build -o bin/jsonjoin$(EXT) cmds/jsonjoin/jsonjoin.go
6362

64-
bin/reldate: datatools.go cmds/reldate/reldate.go
65-
go build -o bin/reldate cmds/reldate/reldate.go
63+
bin/findfile$(EXT): datatools.go cmds/findfile/findfile.go
64+
go build -o bin/findfile$(EXT) cmds/findfile/findfile.go
6665

67-
bin/range: datatools.go cmds/range/range.go
68-
go build -o bin/range cmds/range/range.go
66+
bin/finddir$(EXT): datatools.go cmds/finddir/finddir.go
67+
go build -o bin/finddir$(EXT) cmds/finddir/finddir.go
6968

70-
bin/timefmt: datatools.go cmds/timefmt/timefmt.go
71-
go build -o bin/timefmt cmds/timefmt/timefmt.go
69+
bin/mergepath$(EXT): datatools.go cmds/mergepath/mergepath.go
70+
go build -o bin/mergepath$(EXT) cmds/mergepath/mergepath.go
7271

73-
bin/urlparse: datatools.go cmds/urlparse/urlparse.go
74-
go build -o bin/urlparse cmds/urlparse/urlparse.go
72+
bin/reldate$(EXT): datatools.go cmds/reldate/reldate.go
73+
go build -o bin/reldate$(EXT) cmds/reldate/reldate.go
7574

76-
bin/splitstring: datatools.go cmds/splitstring/splitstring.go
77-
go build -o bin/splitstring cmds/splitstring/splitstring.go
75+
bin/range$(EXT): datatools.go cmds/range/range.go
76+
go build -o bin/range$(EXT) cmds/range/range.go
7877

79-
bin/csvcleaner: datatools.go cmds/csvcleaner/csvcleaner.go
80-
go build -o bin/csvcleaner cmds/csvcleaner/csvcleaner.go
78+
bin/timefmt$(EXT): datatools.go cmds/timefmt/timefmt.go
79+
go build -o bin/timefmt$(EXT) cmds/timefmt/timefmt.go
80+
81+
bin/urlparse$(EXT): datatools.go cmds/urlparse/urlparse.go
82+
go build -o bin/urlparse$(EXT) cmds/urlparse/urlparse.go
83+
84+
bin/splitstring$(EXT): datatools.go cmds/splitstring/splitstring.go
85+
go build -o bin/splitstring$(EXT) cmds/splitstring/splitstring.go
86+
87+
bin/joinstring$(EXT): datatools.go cmds/joinstring/joinstring.go
88+
go build -o bin/joinstring$(EXT) cmds/joinstring/joinstring.go
89+
90+
bin/hasprefix$(EXT): datatools.go cmds/hasprefix/hasprefix.go
91+
go build -o bin/hasprefix$(EXT) cmds/hasprefix/hasprefix.go
92+
93+
bin/hassuffix$(EXT): datatools.go cmds/hassuffix/hassuffix.go
94+
go build -o bin/hassuffix$(EXT) cmds/hassuffix/hassuffix.go
95+
96+
bin/trimprefix$(EXT): datatools.go cmds/trimprefix/trimprefix.go
97+
go build -o bin/trimprefix$(EXT) cmds/trimprefix/trimprefix.go
98+
99+
bin/trimsuffix$(EXT): datatools.go cmds/trimsuffix/trimsuffix.go
100+
go build -o bin/trimsuffix$(EXT) cmds/trimsuffix/trimsuffix.go
101+
102+
bin/tolower$(EXT): datatools.go cmds/tolower/tolower.go
103+
go build -o bin/tolower$(EXT) cmds/tolower/tolower.go
104+
105+
bin/toupper$(EXT): datatools.go cmds/toupper/toupper.go
106+
go build -o bin/toupper$(EXT) cmds/toupper/toupper.go
107+
108+
bin/totitle$(EXT): datatools.go cmds/totitle/totitle.go
109+
go build -o bin/totitle$(EXT) cmds/totitle/totitle.go
110+
111+
bin/csvcleaner$(EXT): datatools.go cmds/csvcleaner/csvcleaner.go
112+
go build -o bin/csvcleaner$(EXT) cmds/csvcleaner/csvcleaner.go
81113

82114
test:
83115
go test
@@ -127,6 +159,14 @@ install:
127159
env GOBIN=$(GOPATH)/bin go install cmds/xlsx2json/xlsx2json.go
128160
env GOBIN=$(GOPATH)/bin go install cmds/xlsx2csv/xlsx2csv.go
129161
env GOBIN=$(GOPATH)/bin go install cmds/splitstring/splitstring.go
162+
env GOBIN=$(GOPATH)/bin go install cmds/joinstring/joinstring.go
163+
env GOBIN=$(GOPATH)/bin go install cmds/hasprefix/hasprefix.go
164+
env GOBIN=$(GOPATH)/bin go install cmds/hassuffix/hassuffix.go
165+
env GOBIN=$(GOPATH)/bin go install cmds/trimprefix/trimprefix.go
166+
env GOBIN=$(GOPATH)/bin go install cmds/trimsuffix/trimsuffix.go
167+
env GOBIN=$(GOPATH)/bin go install cmds/tolower/tolower.go
168+
env GOBIN=$(GOPATH)/bin go install cmds/toupper/toupper.go
169+
env GOBIN=$(GOPATH)/bin go install cmds/totitle/totitle.go
130170
env GOBIN=$(GOPATH)/bin go install cmds/csvcleaner/csvcleaner.go
131171

132172
dist/linux-amd64:
@@ -153,6 +193,14 @@ dist/linux-amd64:
153193
env GOOS=linux GOARCH=amd64 go build -o dist/bin/timefmt cmds/timefmt/timefmt.go
154194
env GOOS=linux GOARCH=amd64 go build -o dist/bin/urlparse cmds/urlparse/urlparse.go
155195
env GOOS=linux GOARCH=amd64 go build -o dist/bin/splitstring cmds/splitstring/splitstring.go
196+
env GOOS=linux GOARCH=amd64 go build -o dist/bin/joinstring cmds/joinstring/joinstring.go
197+
env GOOS=linux GOARCH=amd64 go build -o dist/bin/hasprefix cmds/hasprefix/hasprefix.go
198+
env GOOS=linux GOARCH=amd64 go build -o dist/bin/hassuffix cmds/hassuffix/hassuffix.go
199+
env GOOS=linux GOARCH=amd64 go build -o dist/bin/trimprefix cmds/trimprefix/trimprefix.go
200+
env GOOS=linux GOARCH=amd64 go build -o dist/bin/trimsuffix cmds/trimsuffix/trimsuffix.go
201+
env GOOS=linux GOARCH=amd64 go build -o dist/bin/tolower cmds/tolower/tolower.go
202+
env GOOS=linux GOARCH=amd64 go build -o dist/bin/toupper cmds/toupper/toupper.go
203+
env GOOS=linux GOARCH=amd64 go build -o dist/bin/totitle cmds/totitle/totitle.go
156204
env GOOS=linux GOARCH=amd64 go build -o dist/bin/csvcleaner cmds/csvcleaner/csvcleaner.go
157205
cd dist && zip -r $(PROJECT)-$(VERSION)-linux-amd64.zip README.md LICENSE INSTALL.md bin/* docs/* how-to/* demos/*
158206
rm -fR dist/bin
@@ -182,6 +230,14 @@ dist/macosx-amd64:
182230
env GOOS=darwin GOARCH=amd64 go build -o dist/bin/timefmt cmds/timefmt/timefmt.go
183231
env GOOS=darwin GOARCH=amd64 go build -o dist/bin/urlparse cmds/urlparse/urlparse.go
184232
env GOOS=darwin GOARCH=amd64 go build -o dist/bin/splitstring cmds/splitstring/splitstring.go
233+
env GOOS=darwin GOARCH=amd64 go build -o dist/bin/joinstring cmds/joinstring/joinstring.go
234+
env GOOS=darwin GOARCH=amd64 go build -o dist/bin/hasprefix cmds/hasprefix/hasprefix.go
235+
env GOOS=darwin GOARCH=amd64 go build -o dist/bin/hassuffix cmds/hassuffix/hassuffix.go
236+
env GOOS=darwin GOARCH=amd64 go build -o dist/bin/trimprefix cmds/trimprefix/trimprefix.go
237+
env GOOS=darwin GOARCH=amd64 go build -o dist/bin/trimsuffix cmds/trimsuffix/trimsuffix.go
238+
env GOOS=darwin GOARCH=amd64 go build -o dist/bin/tolower cmds/tolower/tolower.go
239+
env GOOS=darwin GOARCH=amd64 go build -o dist/bin/toupper cmds/toupper/toupper.go
240+
env GOOS=darwin GOARCH=amd64 go build -o dist/bin/totitle cmds/totitle/totitle.go
185241
env GOOS=darwin GOARCH=amd64 go build -o dist/bin/csvcleaner cmds/csvcleaner/csvcleaner.go
186242
cd dist && zip -r $(PROJECT)-$(VERSION)-macosx-amd64.zip README.md LICENSE INSTALL.md bin/* docs/* how-to/* demos/*
187243
rm -fR dist/bin
@@ -212,6 +268,14 @@ dist/windows-amd64:
212268
env GOOS=windows GOARCH=amd64 go build -o dist/bin/timefmt.exe cmds/timefmt/timefmt.go
213269
env GOOS=windows GOARCH=amd64 go build -o dist/bin/urlparse.exe cmds/urlparse/urlparse.go
214270
env GOOS=windows GOARCH=amd64 go build -o dist/bin/splitstring.exe cmds/splitstring/splitstring.go
271+
env GOOS=windows GOARCH=amd64 go build -o dist/bin/joinstring.exe cmds/joinstring/joinstring.go
272+
env GOOS=windows GOARCH=amd64 go build -o dist/bin/hasprefix.exe cmds/hasprefix/hasprefix.go
273+
env GOOS=windows GOARCH=amd64 go build -o dist/bin/hassuffix.exe cmds/hassuffix/hassuffix.go
274+
env GOOS=windows GOARCH=amd64 go build -o dist/bin/trimprefix.exe cmds/trimprefix/trimprefix.go
275+
env GOOS=windows GOARCH=amd64 go build -o dist/bin/trimsuffix.exe cmds/trimsuffix/trimsuffix.go
276+
env GOOS=windows GOARCH=amd64 go build -o dist/bin/tolower.exe cmds/tolower/tolower.go
277+
env GOOS=windows GOARCH=amd64 go build -o dist/bin/toupper.exe cmds/toupper/toupper.go
278+
env GOOS=windows GOARCH=amd64 go build -o dist/bin/totitle.exe cmds/totitle/totitle.go
215279
env GOOS=windows GOARCH=amd64 go build -o dist/bin/csvcleaner.exe cmds/csvcleaner/csvcleaner.go
216280
cd dist && zip -r $(PROJECT)-$(VERSION)-windows-amd64.zip README.md LICENSE INSTALL.md bin/* docs/* how-to/* demos/*
217281
rm -fR dist/bin
@@ -243,6 +307,14 @@ dist/raspbian-arm7:
243307
env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/timefmt cmds/timefmt/timefmt.go
244308
env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/urlparse cmds/urlparse/urlparse.go
245309
env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/splitstring cmds/splitstring/splitstring.go
310+
env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/joinstring cmds/joinstring/joinstring.go
311+
env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/hasprefix cmds/hasprefix/hasprefix.go
312+
env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/hassuffix cmds/hassuffix/hassuffix.go
313+
env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/trimprefix cmds/trimprefix/trimprefix.go
314+
env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/trimsuffix cmds/trimsuffix/trimsuffix.go
315+
env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/tolower cmds/tolower/tolower.go
316+
env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/toupper cmds/toupper/toupper.go
317+
env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/totitle cmds/totitle/totitle.go
246318
env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/csvcleaner cmds/csvcleaner/csvcleaner.go
247319
cd dist && zip -r $(PROJECT)-$(VERSION)-raspbian-arm7.zip README.md LICENSE INSTALL.md bin/* docs/* how-to/* demos/*
248320
rm -fR dist/bin

README.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11

22
# datatools
33

4+
_datatools_ provides a variety of command line programs for working with data in different formats as well as to ease
5+
Posix shell scripting (e.g. writing scripts that run under Bash). The tools are group as data, strings and scripting.
6+
47
## For data
58

69
Command line utilities for simplifying work with CSV, JSON, Excel Workbooks and plain text files or content and
@@ -18,7 +21,6 @@ general purpose shell scripting.
1821
+ [jsonjoin](docs/jsonjoin.html) - a tool for joining JSON object documents
1922
+ [jsonmunge](docs/jsonmunge.html) - a tool to transform JSON documents into something else
2023
+ [jsonrange](docs/jsonrange.html) - a tool for iterating for JSON maps and arrays
21-
+ [splitstring](docs/splitstring.html) - splits a string using a delimiting string and returns a JSON array
2224
+ [vcard2json](docs/vcard2json.html) - an experimental tool to convert vCards to JSON
2325
+ [xlsx2csv](docs/xlsx2csv.html) - a tool for converting Excel Workbooks sheets to a CSV file(s)
2426
+ [xlsx2json](docs/xlsx2json.html) - a tool for converting Excel Workbooks to JSON files
@@ -27,8 +29,19 @@ general purpose shell scripting.
2729
Compiled versions are provided for Linux (amd64), Mac OS X (amd64),
2830
Windows 10 (amd64) and Raspbian (ARM7). See https://github.com/caltechlibrary/datatools/releases.
2931

30-
Use the utilities try "-help" option for a full list of options.
32+
Use the utilities try "-help" option for a full list of options for each utility.
3133

34+
## For strings
35+
36+
+ [splitstring](docs/splitstring.html) - splits a string using a delimiting string and returns a JSON array
37+
+ [joinstring](docs/joinstring.html) - joins a JSON array or delimited list of strings into a single string
38+
+ [hasprefix](docs/hasprefix.html) - return 'true' or 'false' based on whether or not a string contains a prefix
39+
+ [hassuffix](docs/hassuffix.html) - return 'true' or 'false' based on whether or not a string contains a suffix
40+
+ [trimprefix](docs/trimprefix.html) - returns the string without the prefix (returns string unchanged if prefix is not found)
41+
+ [trimsuffix](docs/trimsuffix.html) - returns the string without the suffix (returns string unchanged if suffix is not found)
42+
+ [tolower](docs/tolower.html) - lower cases a string with all Unicode letters mapped to their lower case
43+
+ [toupper](docs/toupper.html) - upper cases a string with all Unicode letters mapped to their upper case
44+
+ [totitle](docs/totitle.html) - title cases a with all Unicode letters mapped to their title case (or capitalizes words using options)
3245

3346
## For scripting
3447

cmds/csv2json/csv2json.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ func main() {
109109
cfg.LicenseText = fmt.Sprintf(datatools.LicenseText, appName, datatools.Version)
110110
cfg.UsageText = fmt.Sprintf(usage, appName)
111111
cfg.DescriptionText = fmt.Sprintf(description, appName)
112-
cfg.OptionText = "OPTIONS"
112+
cfg.OptionText = "OPTIONS\n\n"
113113
cfg.ExampleText = fmt.Sprintf(examples, appName, appName)
114114

115115
if showHelp == true {

cmds/csv2mdtable/csv2mdtable.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ func main() {
100100
cfg.LicenseText = fmt.Sprintf(datatools.LicenseText, appName, datatools.Version)
101101
cfg.UsageText = fmt.Sprintf(usage, appName)
102102
cfg.DescriptionText = fmt.Sprintf(description, appName)
103-
cfg.OptionText = "OPTIONS"
103+
cfg.OptionText = "OPTIONS\n\n"
104104
cfg.ExampleText = fmt.Sprintf(examples, appName, appName)
105105

106106
if showHelp == true {

cmds/csv2xlsx/csv2xlsx.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ func main() {
146146
cfg.LicenseText = fmt.Sprintf(datatools.LicenseText, appName, datatools.Version)
147147
cfg.UsageText = fmt.Sprintf(usage, appName)
148148
cfg.DescriptionText = fmt.Sprintf(description, appName)
149-
cfg.OptionText = "OPTIONS"
149+
cfg.OptionText = "OPTIONS\n\n"
150150
cfg.ExampleText = fmt.Sprintf(examples, appName, appName)
151151

152152
if showHelp == true {

cmds/csvcleaner/csvcleaner.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ var (
1818
usage = `USAGE: %s [OPTIONS]`
1919

2020
description = `
21+
22+
SYNOPSIS
23+
2124
%s normalizes a CSV file based on the options selected. It
2225
helps to address issues like variable number of columns, leading/trailing
2326
spaces in columns, and non-UTF-8 encoding issues.
@@ -114,7 +117,7 @@ func main() {
114117
cfg := cli.New(appName, "", datatools.Version)
115118
cfg.UsageText = fmt.Sprintf(usage, appName)
116119
cfg.DescriptionText = fmt.Sprintf(description, appName)
117-
cfg.OptionText = "OPTIONS"
120+
cfg.OptionText = "OPTIONS\n\n"
118121
cfg.ExampleText = fmt.Sprintf(examples, appName, appName, appName, appName)
119122

120123
if showHelp == true {

cmds/csvcols/csvcols.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ func main() {
186186
cfg.LicenseText = fmt.Sprintf(datatools.LicenseText, appName, datatools.Version)
187187
cfg.UsageText = fmt.Sprintf(usage, appName)
188188
cfg.DescriptionText = fmt.Sprintf(description, appName)
189-
cfg.OptionText = "OPTIONS"
189+
cfg.OptionText = "OPTIONS\n\n"
190190
cfg.ExampleText = fmt.Sprintf(examples, appName, appName, appName, appName, appName, appName)
191191

192192
if showHelp == true {

cmds/csvfind/csvfind.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ func main() {
136136
cfg.LicenseText = fmt.Sprintf(datatools.LicenseText, appName, datatools.Version)
137137
cfg.UsageText = fmt.Sprintf(usage, appName)
138138
cfg.DescriptionText = fmt.Sprintf(description, appName)
139-
cfg.OptionText = "OPTIONS"
139+
cfg.OptionText = "OPTIONS\n\n"
140140
cfg.ExampleText = fmt.Sprintf(examples, appName, appName, appName)
141141

142142
if showHelp == true {

cmds/csvjoin/csvjoin.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ func main() {
199199
cfg.LicenseText = fmt.Sprintf(datatools.LicenseText, appName, datatools.Version)
200200
cfg.UsageText = fmt.Sprintf(usage, appName)
201201
cfg.DescriptionText = fmt.Sprintf(description, appName)
202-
cfg.OptionText = "OPTIONS"
202+
cfg.OptionText = "OPTIONS\n\n"
203203
cfg.ExampleText = fmt.Sprintf(examples, appName)
204204

205205
if showHelp == true {

cmds/csvrows/csvrows.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ func main() {
176176
cfg.LicenseText = fmt.Sprintf(datatools.LicenseText, appName, datatools.Version)
177177
cfg.UsageText = fmt.Sprintf(usage, appName)
178178
cfg.DescriptionText = fmt.Sprintf(description, appName)
179-
cfg.OptionText = "OPTIONS"
179+
cfg.OptionText = "OPTIONS\n\n"
180180
cfg.ExampleText = fmt.Sprintf(examples, appName, appName, appName, appName, appName, appName)
181181

182182
if showHelp == true {

cmds/finddir/finddir.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ SYNOPSIS
5050
5151
EXAMPLE
5252
53-
%s -p img
54-
5553
Find all subdirectories starting with "img".
5654
55+
%s -p img
56+
5757
`
5858

5959
// Standard Options
@@ -162,7 +162,7 @@ func main() {
162162
cfg.LicenseText = fmt.Sprintf(datatools.LicenseText, appName, datatools.Version)
163163
cfg.UsageText = fmt.Sprintf(usage, appName)
164164
cfg.DescriptionText = fmt.Sprintf(description, appName)
165-
cfg.OptionText = "OPTION"
165+
cfg.OptionText = "OPTIONS\n\n"
166166
cfg.ExampleText = fmt.Sprintf(examples, appName)
167167

168168
if showHelp == true {

cmds/findfile/findfile.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ SYNOPSIS
5050
5151
EXAMPLE
5252
53-
%s -s .md
54-
5553
Search the current directory and subdirectories for Markdown files with extension of ".md".
5654
55+
%s -s .md
56+
5757
`
5858

5959
// Standard Options
@@ -161,7 +161,7 @@ func main() {
161161
cfg.LicenseText = fmt.Sprintf(datatools.LicenseText, appName, datatools.Version)
162162
cfg.UsageText = fmt.Sprintf(usage, appName)
163163
cfg.DescriptionText = fmt.Sprintf(description, appName)
164-
cfg.OptionText = "OPTIONS"
164+
cfg.OptionText = "OPTIONS\n\n"
165165
cfg.ExampleText = fmt.Sprintf(examples, appName)
166166

167167
if showHelp == true {

0 commit comments

Comments
 (0)