--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/relpipe-data/examples-rename-vg-fstab.xml Tue Feb 05 19:18:28 2019 +0100
@@ -0,0 +1,46 @@
+<stránka
+ xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
+ xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
+
+ <nadpis>Renaming VG in /etc/fstab using relpipe-tr-sed</nadpis>
+ <perex>sed-like substitutions in the relational stream</perex>
+ <m:pořadí-příkladu>00700</m:pořadí-příkladu>
+
+ <text xmlns="http://www.w3.org/1999/xhtml">
+
+ <p>
+ Assume that we have an <code>/etc/fstab</code> with many lines defining the mount-points (directories) of particular devices (disks) and we are using LVM.
+ If we rename a volume group (VG), we have to change all of them. The lines look like this one:
+ </p>
+
+ <pre>/dev/alpha/photos /mnt/photos/ btrfs noauto,noatime,nodiratime 0 0</pre>
+
+ <p>
+ We want to change all lines from <code>alpha</code> to <code>beta</code> (the new VG name).
+ This can be done by the power of regular expressions<m:podČarou>see <a href="https://en.wikibooks.org/wiki/Regular_Expressions/Simple_Regular_Expressions">Regular Expressions</a> at Wikibooks</m:podČarou> and this pipeline:
+ </p>
+
+ <m:pre jazyk="bash"><![CDATA[relpipe-in-fstab \
+ | relpipe-tr-sed 'fstab' 'device' '^/dev/alpha/' '/dev/beta/' \
+ | relpipe-out-fstab]]></m:pre>
+
+ <p>
+ The <code>relpipe-tr-sed</code> tool works only with given relation (<code>fstab</code>) and given attribute (<code>device</code>)
+ and it would leave untouched other relations and attributes in the stream.
+ So it would not replace the strings on unwanted places (if there are any random matches).
+ </p>
+
+ <p>
+ Even the relation names and attribute names are specified as a regular expression, so we can (purposefully) modify multiple relations or attributes.
+ For example we can put zeroes in both <code>dump</code> and <code>pass</code> attributes:
+ </p>
+
+ <m:pre jazyk="bash"><![CDATA[relpipe-in-fstab | relpipe-tr-sed 'fstab' 'dump|pass' '.+' '0' | relpipe-out-fstab]]></m:pre>
+
+ <p>
+ n.b. the data types must be respected, we can not e.g. put <code>abc</code> in the <code>pass</code> attribute because it is declared as <code>integer</code>.
+ </p>
+
+ </text>
+
+</stránka>