Vortrag Regular Expressions
Aus GNU/Linux User Group Kaiserslautern
(Unterschied zwischen Versionen)
| Version vom 21:25, 22. Mai 2007 (bearbeiten) Sbahl (Diskussion | Beiträge) (Überarbeitung läuft nocht) ← Zum vorherigen Versionsunterschied |
Version vom 13:59, 31. Mai 2007 (bearbeiten) (rückgängig) Erinnern (Diskussion | Beiträge) (→Exkurs bzgl.) Zum nächsten Versionsunterschied → |
||
| Zeile 1: | Zeile 1: | ||
| - | == Exkurs bzgl. == | ||
| - | |||
| - | === Frage zum tar-Befehl: === | ||
| - | Was passiert mit tar-ball beim auspacken, wenn Benutzer nicht im System existieren, denen im tar-Ball die Dateien zugeordnet sind? | ||
| - | |||
| - | Sascha sagt Dateien werden mit ids erzeugt, denen jedoch keine User im System zugeordnet sind. | ||
| - | |||
| - | '''tar''' | ||
| - | |||
| - | tar [OPTION]... [DATEI]... | ||
| - | -t, --list | ||
| - | Inhalt eines Archivs anzeigen | ||
| - | -x, --extract, --get | ||
| - | Dateien aus Archiv holen | ||
| - | -c, --create | ||
| - | neues Archiv erzeugen | ||
| - | -p, --same-permissions | ||
| - | Zugriffsrechte beim Auspacken erhalten | ||
| - | -l, --one-file-system | ||
| - | beim Erzeugen Dateisystem nicht wechseln | ||
| - | -f, --file=ARCHIV | ||
| - | Gerät oder Datei ARCHIV benutzen | ||
| - | |||
| - | |||
| - | Mit dem Befehl | ||
| - | tar cplf dateisystem_dev_hda2.tar | ||
| - | |||
| - | wird ein tar-Ball erzeugt (c), das den Dateien die gleichen Rechten erhält (p), der tar-Befehl bleibt in dem aktullem Dateisystem, und betrifft z.B. keine gemounteten Dateisysteme (l) und schreibt es in den tar-Ball mit dem Namen hda2.tar (f). | ||
| - | |||
| - | === Sehr cooler Befehl zum Kopieren von ganzen Dateisystemen === | ||
| - | |||
| - | cd /mnt/ && ( cd / && tar cplf - . ) | tar xpvf - | ||
| - | |||
| == Reguläre Ausdrücke == | == Reguläre Ausdrücke == | ||
Version vom 13:59, 31. Mai 2007
Inhaltsverzeichnis |
Reguläre Ausdrücke
Manual page als Lektüre:
man perlre man sed
Aufgabe:
Wir haben eine Dateieingabe der folgenden Form:
^ Bereich_0 \t Bereich_1 \t Bereich_2 \t Bereich_3 \t Bereich_4 $
und möchten diese in folgende HTML-Form überführen:
<tr><td>Bereich_0</td><td>Bereich_1</td></tr> <tr><td>Bereich_2</td><td>Bereich_3</td><td>Bereich_4</td></tr>
Struktur unseres Dateiinputs
^ Bereich_1 \t Bereich_2 \t Bereich_3 \t Bereich_4 \t Bereich_5 \t B_6 \t B_7 $ ^ DE \t Name \t Tag \t Monat \t Jahr \t 0 \t 0 $
1. Schritt
echo "
| \2\<\/td\>\ | \3.\4.\5\<\/td\>\<\/tr\>/' >> /var/www/cms/index_2.html & & ==== 3. Schritt ==== echo " |
Ergebnis:
Die Schritte zusammen ergeben folgende Ausgabe:
| Name | Datum (Tag.Monat.Jahr) |
<tr><td>Bereich_1</td><td>Bereich_2</td><td>Bereich_3.Bereich_4.Bereich_5</td></tr> <tr><td> \1 </td><td> \2 </td><td> \3 . \4 . \5 </td></tr>
1. Schritt
echo "
| /g' sed -e 's/^/\ | ||||||
| /' sed -e 's/$/\<\/td\>\<\/tr\>/' >> /var/www/cms/index.html && '''ergibt''' DE;Rosenmontag;19;2;2007;0;0 | ||||||
| DE | Rosenmontag | 19 | 2 | 2007 | 0 | 0 |
Ergibt folgende Tabellenausgabe:
| DE | Name | Tag | Monat | Jahr | 0 | 0 |

