franta-hg@17: #!/usr/bin/perl franta-hg@17: franta-hg@17: # Vypíše /etc/fstab ve formě XML souboru. franta-hg@17: # franta-hg@17: # Závislosti: franta-hg@17: # aptitude install libxml-writer-perl franta-hg@17: franta-hg@17: use strict; franta-hg@17: use warnings; franta-hg@17: franta-hg@17: use IO::String; franta-hg@17: use XML::Writer; franta-hg@17: franta-hg@17: my $xml; franta-hg@17: my $output = new IO::String->new($xml); franta-hg@17: my $writer = new XML::Writer( OUTPUT => $output, franta-hg@17: DATA_MODE => 1, franta-hg@17: DATA_INDENT => " "); franta-hg@17: franta-hg@17: $writer->xmlDecl("UTF-8"); franta-hg@17: $writer->startTag("fstab"); franta-hg@17: franta-hg@17: my $fstab; franta-hg@17: open($fstab, "<", "/etc/fstab"); franta-hg@17: while (my $r = <$fstab>) { franta-hg@17: if ($r !~ /^\x23/ && $r =~ /^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)$/) { franta-hg@17: $writer->startTag("bod"); franta-hg@17: $writer->dataElement("zařízení", "$1"); franta-hg@17: $writer->dataElement("přípojnýBod", "$2"); franta-hg@17: $writer->dataElement("souborovýSystém", "$3"); franta-hg@17: franta-hg@17: $writer->startTag("volby"); franta-hg@17: my @volby = split(",", $4); franta-hg@17: foreach my $volba (@volby) { franta-hg@17: $writer->dataElement("volba", "$volba"); franta-hg@17: } franta-hg@17: $writer->endTag(); franta-hg@17: franta-hg@17: $writer->dataElement("dump", "$5"); franta-hg@17: $writer->dataElement("pass", "$6"); franta-hg@17: $writer->endTag(); franta-hg@17: } franta-hg@17: } franta-hg@17: franta-hg@17: $writer->endTag(); franta-hg@17: print $xml; franta-hg@17: print "\n"; franta-hg@17: