All examples were tested in GNU Bash.
But they should also work in other shells.
-
Hello Wordl! – generating relational data from CLI arguments
-
Reading STDIN – generating relational data from values on standard input
-
Reading fstab – converting /etc/fstab or /etc/mtab to relational data
-
Formatting fstab – implementing a simple relpipe-out-fstab filter using -in-fstab, -out-nullbyte, xargs and Perl
-
Generating XML – converting relational data to XML
-
Validating relational data – check whether data are in the relpipe format
-
Writing an output filter in Bash – processing relational data in GNU Bash or some other shell
-
Renaming VG in /etc/fstab using relpipe-tr-sed – sed-like substitutions in the relational stream
-
Using relpipe-tr-sed with groups and backreferences – sed-like substitution with regex groups and backreferences
-
Filtering /etc/fstab using relpipe-tr-grep – list only records with desired filesystem types
-
Doing projection and restriction using cut and grep – SELECT mount_point FROM fstab WHERE type IN ('btrfs', 'xfs')
-
Reading an Atom feed using XQuery – converting arbitrary XML into relational data using XQuery
-
Reading files metadata using relpipe-in-filesystem – accessing file metadata like path, type, size or owner
-
Reading extended attributes using relpipe-in-filesystem – accessing xattr of given files e.g. xdg.origin.url
-
Complex filtering with Scheme – filtering records with AND, OR and functions
-
Doing projections with Scheme – modifying attribute values and adding new attributes or removing them
-
Parametrized queries with Scheme – passing input parameters and avoiding code-injections
-
Aggregating data with Scheme – counting records and computing sum
-
Processing multiple relations with Scheme – filter some relations and others keep unaffected
-
Integrating Relational pipes with GNU Recutils – using recfile format as input and output + filtering
-
Reading apt (Debian package system) results – using Recutils and/or Relational pipes
-
Complex filtering with AWK – filtering records with AND, OR and functions
-
Debugging AWK transformations – discovering variable mappings and transformation internals
-
Changing values with AWK – regular expression text replacement
-
Changing structures with AWK – adding or removing attributes or dropping a relation
-
Using boolean logic with AWK – boolean data type and logical AND, OR, XOR operators
-
Aggregating data with AWK – counting records and computing sum or appending new records
-
Reading Libvirt XML files using XMLTable – converting arbitrary XML into one or more relations
-
Reading an Atom feed using XMLTable – converting arbitrary XML into relational data using XMLTable
-
Reading Mercurial history using XMLTable and SQL – filtering the commit log from hg VCS
-
Processing data from an XHTML page using XMLTable and SQL – reading a web table and compute some statistics
-
Generating statistics and charts using XMLTable – read a XML file and get a visual overview
-
Reading SQL scripts – read an SQL file and display it in a tabular way
-
SELECTing from SQLite databases – read from an existing SQLite file or update it
-
Getting the outline of an XHTML page – collect list of headlines (or images, links etc.) of a website using XMLTable
-
Indexing and searching the filesystem – build an index of the filesystem and search it faster or offline using SQL
-
Using custom version of SQLite (LD_PRELOAD) – switch to a newer or modified version of library using a little hack
-
AWKing through a XML file – use AWK to filter data from a D-Bus policy file
-
Computing hashes in parallel – utilize all CPU cores while computing SHA-256 and other file hashes
-
Finding runnable JARs – look for Java archives with a main class
-
Collecting statistics from XHTML pages – use XPath to get titles and headlines counts from web pages and then show a bar chart and statistics
-
Monitoring MIDI messages using JACK – examine events running through a JACK pipeline or bind MIDI keys to actions + bonus: Roland MT-32
-
Accessing SQLite, PostgreSQL and MySQL through ODBC – use various DBMS for SQL transformations or data access
-
Querying an RDF triplestore using SPARQL – use SQL-DK with Jena JDBC driver or a custom script to gather linked data
-
Working with JACK ports – list ports and connections, connect and disconnect ports, both MIDI and audio
-
Generating and sending MIDI messages – generate some sounds and send them to the JACK daemon
-
Reading and querying JSON, YAML, CBOR, HTML, MIME, INI, ASN.1 and XML in a uniform way – run XPath queries and turn data from various sources to relations
-
Filtering and transforming relational data with XPath – do simple restrictions and projections using a well-established query language
-
CSV and data types – declare or recognize integers and booleans in a typeless format
-
Exploring X11 windows and devices and emulating mouse movements and keystrokes – connect to X11 server and have some fun
-
Exploring content of X.509 certificates – open and query common SSL/TLS certificates or other ASN.1 data encoded in BER/DER/CER
-
Running SQL JOINs on multiple CSV files – query a collection of (not only) CSV files using SQL
-
Reading and writing YAML – convert relations to YAML or YAML/JSON to relations
-
Reading and writing INI and unix configs – work with INI, classic key=value configurations, Java .properties or Manifests
-
Reading barcodes and QR – recognize barcodes (including QR) in image files or streams