-
Notifications
You must be signed in to change notification settings - Fork 0
mlawren/vcardtidy
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
NAME vcardtidy - normalize the format of VCARD files VERSION 1.0.3_1 (yyyy-mm-dd) SYNOPSIS usage: vcardtidy [FILES...] [OPTIONS...] Synopsis: tidy (normalize) VCARD contact files Arguments: FILES Str file to tidy (default is stdin) Options: --filter, -f PERL Perl filter(s) to run against $_ first --help, -h print a Help message and exit --no-rev, -R do not update REV value --version, -V print version information and exit DESCRIPTION vcardtidy formats VCARD files, using Text::vCard::Addressbook to normalize field order and capitalization. By default vcardtidy acts like a filter, reading from "stdin" and writing to "stdout". Any "FILES..." provided as arguments are tidied up in place without backup! Users are encouraged to use a revision control system (e.g. Git) or have secure backups. OPTIONS --filter, -f PERL Before tidying, evaluate the "PERL" string with $_ set to the input text. The modified $_ value then input to Text::vCard::Addressbook for tidying. Tools like sed(1), awk(1) and of course perl(1) are obviously natively designed to modify text, in a better way. But "--filter" ensures that you still have a valid VCARD afterwards, allowing you to easily iterate while you develop your change. To add an additional or missing category for example: $ vcardtidy \ -f '$_ .= "\nCATEGORIES:\n" unless m/^CATEGORIES:/m' \ -f 's/^(CATEGORIES:\S+)(\s+)$/$1,$2/m' \ -f 's/^(CATEGORIES:.*)(\s+)$/${1}NewCat$2/m' --help, -h Print the full usage message and exit. --no-rev, -R By default vcardtidy sets a new "REV" timestamp. Use this flag to prevent that. --version, -V Print the version and exit. SUPPORT This tool is managed via github: https://github.com/mlawren/vcardtidy SEE ALSO githook-perltidy(1), Text::vCard::Addressbook AUTHOR Mark Lawrence <nomad@null.net> COPYRIGHT AND LICENSE Copyright 2022 Mark Lawrence <nomad@null.net> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.