align alternatives and similar packages
Based on the "Specific Formats" category.
Alternatively, view align alternatives based on common mentions on social networks and blogs.
-
bluemonday
bluemonday: a fast golang HTML sanitizer (inspired by the OWASP Java HTML Sanitizer) to scrub user generated content of XSS -
html-to-markdown
โ๏ธ Convert HTML to Markdown. Even works with entire websites and can be extended through rules. -
omniparser
omniparser: a native Golang ETL streaming parser and transform library for CSV, JSON, XML, EDI, text, etc. -
mxj
Decode / encode XML to/from map[string]interface{} (or JSON); extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages. -
go-pkg-rss
DISCONTINUED. This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs. -
goq
A declarative struct-tag-based HTML unmarshaling or scraping package for Go built on top of the goquery library -
gospider
DISCONTINUED. โก Light weight Golang spider framework | ่ฝป้็ Golang ็ฌ่ซๆกๆถ [GET https://api.github.com/repos/zhshch2002/gospider: 404 - Not Found // See: https://docs.github.com/rest/repos/repos#get-a-repository] -
go-pkg-xmlx
DISCONTINUED. Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions. -
github_flavored_markdown
GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links. -
pagser
Pagser is a simple, extensible, configurable parse and deserialize html page to struct based on goquery and struct tags for golang crawler -
csvplus
csvplus extends the standard Go encoding/csv package with fluent interface, lazy stream operations, indices and joins.
CodeRabbit: AI Code Reviews for Developers

Do you think we are missing an alternative of align or a related project?
Popular Comparisons
README
align
A general purpose application that aligns text
The focus of this application is to provide a fast, efficient, and useful tool for aligning text.
Its creation is the result of inspiration from several other amazing alignment tools, namely column
or the Sublime Text plugin AlignTab
.
See the Wiki for usage examples!
Included
- A simple yet useful CLI with options to specify your delimiter, input and output files, etc.
- Align by any string as your delimiter or separator, not just a single character.
- If your separator string is contained within the data itself, it can be escaped by specifying a text qualifier.
- Right, Center, or Left justification of each field.
Why?
Sometimes, it's just easier to align a CSV (or delimited file) by its delimiter and view the columns in your plain text editor (which saves you from opening Excel!).
Another use is to align blocks of code by =
or =>
, etc.
Install
$ go get github.com/Guitarbum722/align
$ make install
$ # build all binaries
$ make release
Usage - CLI examples
Usage: align [-h] [-f] [-o] [-q] [-s] [-d] [-a] [-c] [-i] [-p]
Options:
-h | --help help
-f input file. If not specified, pipe input to stdin
-o output file. (default: stdout)
-q text qualifier (if applicable)
-s delimiter (default: ',')
-d output delimiter (defaults to the value of sep)
-a <left>, <right>, <center> justification (default: left)
-c output specific fields (default: all fields)
-i override justification by column number (e.g. 2:center,5:right)
-p extra padding surrounding delimiter
Specify your input file, output file, delimiter.
You can also pipe input to stdin (if the -f
option is provided, it will take precedence over Stdin)
If no -o
option is provided, stdout will be used.
$ align -f input_file.csv -o output_file.csv
$ align -f input_file.csv -o
$ cat awesome.csv | align
Do you have rows with a different number of fields? This might be more common with code, but align
doesn't care!
$ echo "field1|field2\nValue1|Value2\nCoolValue1|CoolValue2|CoolValue3" | align -s \|
field1 | field2
Value1 | Value2
CoolValue1 | CoolValue2 | CoolValue3
Column filtering (specifiy output fields and optionally override the justification of the output fields). This might be useful if you would like to display a dollar amount or number field differently. The specified fields are indexed at 1.
# output fields 1,3,5 justified 'right'
$ cat file.csv | align -a right -c 1,3,5
# output fields 1,2,3,7,8 with default justification (left) except for field 7, which is right justified
$ cat file.csv | align -c 1,2,3,7,8 -i 1:right,7:center
#output all fields by default, with right justification, with overridden justification on certain columns
$ cat file.csv | align -a right -i 1:center,5:left
Support for worldwide characters.
first , last , middle , email
paul , danny , ใใฉ , ใ่ฃฝๆฒน
It is perfectly acceptable to even use emojis as your input/output delimiters.
first ๐ฎ last ๐ฎ email
Hector ๐ฎ Gonzalez ๐ฎ [email protected]
Add additional padding if desired with the -p
flag. Default is 1 space, and 0 will output with no additional padding. If the value supplied is less than 0, then the behavior will be as if it were set to 0 and no padding will be applied.
# padding of 4 spaces surrounding the delimiter.
align -p 4
Contributions
If you have suggestions or discover a bug, please open an issue. If you think you can make the fix, please use the Fork / Pull Request on your feature branch approach.