[gelöst]Textdatei durchsuchen und an gefundener Position Tex

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
bertol
Beiträge: 145
Registriert: 07.10.2003 10:40:19
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

[gelöst]Textdatei durchsuchen und an gefundener Position Tex

Beitrag von bertol » 30.11.2004 15:52:52

Hallo debianer!

Folgendes Problem:
Habe mehre Textdatein mit mehren Zeilen. in den Textdateien steht nun an verschiedenen Positionen

Code: Alles auswählen

einfuegen:/pfad/textdatei
einfuegen: ist immer gleich und es steht nichts davor; /pfad/textdatei ist immer was anderes und es steht nichts dahinter ausser Zeilenumbruch (\n). Hatte zunüchst mit

Code: Alles auswählen

for file in `cat ./text/ls.txt` ; do
  for zeile in `cat ./text/$file` ; do
       ????
   done
done
probiert - naja bei ???? habe ich keine Ahnung wie ich nun ermitteln kann ob die Zeile einfuegen: hat und wenn ja dass dann die Textdatei hinzugefügt wird.
Zuletzt geändert von bertol am 01.12.2004 10:27:02, insgesamt 1-mal geändert.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 30.11.2004 18:06:22

Mein Vorschlag ist dass du das ganze mit Sed an m4-Konventionen anpasst und dann mit dem die Files includest:

Code: Alles auswählen

f=/pfad/zur/zu/bearbeitenden/datei

sed 's#^einfuegen:\(.*\)#include(\1)#g' -i $f
m4 $f > tmp
mv tmp $f
m4 ist der GNU-Makroprozessor - halt so ein Ding, wird auch von configure-Scripten/Automake und so benutzt. Hat wohl jeder (oder was vergleichbares) installiert.

Mit sed alleine ginge es auch schon *fast* - nur kann der Datei-Lese-Befehl von Sed - sowas:

Code: Alles auswählen

/^einfuegen:/r /die/datei
/^einfuegen:/d
leider nur fixe ins Sed-Script codierte Dateien einfügen.

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Benutzeravatar
bertol
Beiträge: 145
Registriert: 07.10.2003 10:40:19
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Beitrag von bertol » 01.12.2004 10:25:40

Jop das haut hin.

Supper danke!

Antworten