Vortrag Regular Expressions
Aus GNU/Linux User Group Kaiserslautern
(Unterschied zwischen Versionen)
| Version vom 13:59, 31. Mai 2007 (bearbeiten) Erinnern (Diskussion | Beiträge) (→Exkurs bzgl.) ← Zum vorherigen Versionsunterschied |
Version vom 14:03, 31. Mai 2007 (bearbeiten) (rückgängig) Erinnern (Diskussion | Beiträge) (→2. Schritt) Zum nächsten Versionsunterschied → |
||
| Zeile 30: | Zeile 30: | ||
| cat tmp0_holidays.DE.csv | cat tmp0_holidays.DE.csv | ||
| sed -e 's/\(.*\);\(.*\);\(.*\);\(.*\);\(.*\);\(.*\);\(.*\)/ | sed -e 's/\(.*\);\(.*\);\(.*\);\(.*\);\(.*\);\(.*\);\(.*\)/ | ||
| - | \< | + | \<t r\>\<td\>\2\<\/td\>\<td\>\3.\4.\5\<\/td\>\<\/tr\>/' |
| - | >> /var/www/cms/index_2.html & & | + | >> /var/www/cms/index_2.html & & |
| + | |||
| + | Oben muss aufgrund welcher Umstände auch immer das erste 'tr' in der 3.Zeile von oben natürlich zusammengeschrieben werden. Nur leider interprtiert unser Wiki das dann leider als Tabelle ;) Ihr seid sicher so klever das hinzukriegen! | ||
| + | |||
| ==== 3. Schritt ==== | ==== 3. Schritt ==== | ||
Version vom 14:03, 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 & & Oben muss aufgrund welcher Umstände auch immer das erste 'tr' in der 3.Zeile von oben natürlich zusammengeschrieben werden. Nur leider interprtiert unser Wiki das dann leider als Tabelle ;) Ihr seid sicher so klever das hinzukriegen! ==== 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 |

