aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md13
1 files changed, 9 insertions, 4 deletions
diff --git a/README.md b/README.md
index 6f16982..f2690fb 100644
--- a/README.md
+++ b/README.md
@@ -10,9 +10,14 @@ Mirrored at https://github.com/fasterit/findcontact
**findcontact** is a small perl script that enables searching with a set of regexes to find contacts within a (large) .vcf file.
Obtaining a contacts.vcf depends on which CardDAV server / client you run.
-With [radicale](http://radicale.org/) you can just copy the file off the server into the directory where your findcontact resides. Or copy / link findcontact into the correct radicale collections subdirectory.
+With [radicale 1.x](http://radicale.org/) you could just copy the file off the server into the directory where your findcontact resides. Or copy / link findcontact into the correct radicale collections subdirectory.
-Unfortunately every .vcf client decides on a specific set of attributes to support and the [Inverse Sogo Connector](https://sogo.nu/download.html#/frontends) everybody uses for getting the Thunderbird address book synced can't search over all fields. So if you want to search for a phone number you're out of luck. Unless you run findcontact :).
+Unfortunately radicale version 2 (and later) switched to a [file-per-contact storage system](https://radicale.org/2.1.html#documentation/migration-from-1xx-to-2xx/storage) that needs some magic to produce a single .vcf file again,
+e.g. using GNU sed to make sure each VCARD ends with a \n:
+
+ $ sed -e '$G' /var/lib/radicale/collections/collection-root/user/contacts.vcf/* > ~/contacts.vcf
+
+Every .vcf client decides on a specific set of attributes to support and the [Inverse Sogo Connector](https://sogo.nu/download.html#/frontends) everybody uses for getting the Thunderbird address book synced can't search over all fields. So if you want to search for a phone number you're out of luck. Unless you run findcontact :).
It has been written to only depend on perl modules that ship with a default installation and does __not__ depend on Text::vCard::Addressbook or the like.
@@ -29,7 +34,7 @@ It assumes Linux line endings in the `contacts.vcf` file (\n only). We never saw
## Usage
-`findcontact` takes an arbitrary number of arguments which are all regexes. All of the arguments to give must match to have a vcard shown. All matches are case-insensitive.
+`findcontact` takes an arbitrary number of arguments which are all regexes. All of the arguments given must match to have a vcard shown. All matches are case-insensitive.
Thus you can easily iterate:
@@ -45,7 +50,7 @@ If you want to limit the fields printed, use grep:
$ findcontact pizza | grep "^\(FN\|TEL\|$\|Found \)"
-Inside `findcontact` you'll find that the `VERSION`, `PRODID`, `PHOTO`, `UID` and `X-RADICALE-NAME` fields are removed form the output. If you need any of them or want to always remove further fields from output ... change the appropriate lines.
+Inside `findcontact` you'll find that the `VERSION`, `PRODID`, `PHOTO`, `UID` and `X-RADICALE-NAME` fields are removed from the output. If you need any of them or want to always remove further fields from output ... change the appropriate lines.
## Support

© 2014-2024 Faster IT GmbH | imprint | privacy policy