CATMANDU(1p) | User Contributed Perl Documentation | CATMANDU(1p) |
catmandu - LibreCat command line tools
catmandu [-D|-D2|-D3] [-I path] [-L path] [COMMAND] [-?hqv] [long options...] [ARGS] catmandu --version catmandu help # convert catmandu convert JSON to YAML < file.json catmandu convert YAML to JSON < file.yaml catmandu convert YAML < file.yaml # 'to JSON' is implicit catmandu convert MARC < records.mrc catmandu convert MARC --fix 'marc_map(245,title)' < records.mrc catmandu convert MARC --fix myfixes.txt < records.mrc catmandu convert OAI --url https://biblio.ugent.be/oai catmandu convert SRU --base http://www.unicat.be/sru --query dna # import catmandu import JSON to MongoDB --database_name mydb < records.json catmandu import MARC to MongoDB --database_name mydb < records.mrc catmandu import MARC to ElasticSearch --index_name mydb < records.mrc catmandu import MARC to ElasticSearch --index_name mydb --fix 'marc_map("245a","title")' < records.mrc # export catmandu export MongoDB --database_name mydb --bag data to JSON catmandu export MongoDB --database_name mydb --bag data to JSON --fix 'retain("_id")' catmandu export Solr --url http://localhost:8983/solr to JSON catmandu export ElasticSearch --index_name mydb to JSON # copy catmandu copy MongoDB --database_name mydb to ElasticSearch --index_name mydb # show the contents of catmandu.yml catmandu config # count items in a store catmandu count test1 # delete items from store catmandu delete test1 -q 'title:"My Rabbit"' # run a fix script $ catmandu run myfixes.fix # or, create an executable fix script $ cat myfixes.fix #!/usr/local/bin/catmandu run do importer(OAI,url:"http://biblio.ugent.be/oai") retain(_id) end $ chmod 755 myfixes.fix $ ./myfixes.fix # configuration $ cat catmandu.yml --- store: test1: package: MongoDB options: database_name: mydb catmandu import JSON to test1 < records.json # show installed commands $ catmandu info $ catmandu info --namespace XML
Documentation about command line options.
Display the contents of the catmandu.yml files in your project.
Convert data from one format to another format with help of Catmandu::Importers and Catmandu::Exporters. All options given on the command line will be send to the Importer or Exporter as initialization parameters. E.g.
catmandu convert OAI --url BASEURL --metadataPrefx PREFIX \ to \ CSV --header 1 --sep_char '|'
Look at the documentation of all the importers and exporters to see which options are available.
All importers accept one or more --fix options with the name of a fix file or file command.
catmandu convert JSON --fix fixes.txt catmandu convert JSON --fix 'remove_field(abc)'
The JSON exporter is implicit and is optional.
catmandu convert YAML to JSON catmandu convert YAML # shorter
Copy items from one Catmandu::Store to another. All options given on the command line will be send to the Stores as initialization parameters. Optionally a QUERY and LIMIT can be provided to selectively export items from the Store. Optionally a FIX can be provided to be executed on all the items before they are stored.
Count the number of items in a Catmandu::Store. All options given on the command line will be send to the store as initialization parameters. E.g.
catmandu count MongoDB --database_name mydb --bag data
Delete items from a Catmandu::Store. All options given on the command line will be send to the store as initialization parameters. Optionally a QUERY can be provided to select the items to delete. E.g.
catmandu delete MongoDB --database_name mydb --bag data -q "title:Delete me"
Export items from a Catmandu::Store using a Catmandu::Exporter. All options given on the command line will be send to the Store or Exporter as initialization parameters. Optionally a QUERY and LIMIT can be provided to selectively export items from the Store. Optionally a FIX can be provided to be executed on all the items before they are exporter by the exporter.
E.g.
catmandu export MongoDB --database_name mydb --bag data -q "title:Perl"
Import items from a Catmandu::Importer to a Catmandu::Store. All options given on the command line will be send to the Importer or Store as initialization parameters. Optionally a FIX can be provided to be executed on all the items before they are stored into the Store.
catmandu import JSON to MongoDB --database_name mydb < records.json
List installed Catmandu modules (importers, exporters, stores, and fixes).
Execute a fix script or run an interactive Fix shell.
$ catmandu convert MARC --fix myfixes.txt --var source=Springer --var date=2016 < data.mrc
with myfixes.txt a file like:
add_field(source,{{source}}) add_field(data,{{date}}) ...(other fixes)...
1 - WARN messages 2 - INFO messages 3 - DEBUG messages
Requires an installation of Log::Log4perl and Log::Any::Adapter::Log4perl. By default an internal log4perl configuration file is used that sends all debug messages to stderr. Optionally in the catmandu.yml the path to a log4perl configuration file can be set. E.g.
catmandu.yml: log4perl: /etc/log4perl.conf or log4perl: " log4perl.category.Catmandu=$level,$appender log4perl.appender.STDOUT=Log::Log4perl::Appender::Screen log4perl.appender.STDOUT.stderr=0 log4perl.appender.STDOUT.utf8=1 log4perl.appender.STDOUT.layout=PatternLayout log4perl.appender.STDOUT.layout.ConversionPattern=%d [%P] - %p %l %M time=%r : %m%n log4perl.appender.STDERR=Log::Log4perl::Appender::Screen log4perl.appender.STDERR.stderr=0 log4perl.appender.STDERR.utf8=1 log4perl.appender.STDERR.layout=PatternLayout log4perl.appender.STDERR.layout.ConversionPattern=%d [%P] - %l : %m%n "
See also Catmandu::Logger to enable logging for your own Catmandu packages.
Catmandu::Importer Catmandu::Exporter Catmandu::Store Catmandu::MARC Catmandu::OAI Catmandu::MongoDB Catmandu::Solr Catmandu::ElasticSearch
2023-03-03 | perl v5.36.0 |