myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Textdateien nach gleichem Schema bearbeiten?

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 24.10.11, 20:52   #1
scraem
Anfänger
 
Registriert seit: Dec 2009
Beiträge: 24
Bedankt: 76
scraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punkte
Standard Textdateien nach gleichem Schema bearbeiten?

Hallöle, ich hab nich viel mit Programmieren am Hut, und ich denke, dass es für so ziemlich alle guten Programmierer (und auch eher schlechten) dies ein Kinderspiel ist und ich sodurch vllt 5-10 Minuten rauben darf:
Also, ich hab ganz viele Textdateien, 767 an der Zahl, die so aufgebaut sind

wort1
wort2
wort3
wort4
....

Nun möchte ich, dass der Inhalt aber so aussieht:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>wort1</string>
<string>wort2</string>
<string>wort3</string>
<string>wort4</string>
u.s.w.
</array>
</plist>

(ja, es hat etwas mit Apple zu tun ._.)

Zusätzlich sind die Dateinamen so aufgebaut:

dictionary-0-0.txt
dictionary-0-1.txt
u.s.w.

Dazu möchte ich, dass das "dictionary-" entfällt und das die Dateiendung ab sofort sich "plist" nennen darf.

Ich danke schon mal im Vorraus
__________________
Ich lese mir die [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] durch, bevor ich eine Sig erstelle!
I read the [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] before I create a signature.
scraem ist offline   Mit Zitat antworten
Ungelesen 24.10.11, 22:41   #2
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

die 10 minuten haste

installier dir php ([ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ])

dann erstelle eine text-datei dict2plist.php:
PHP-Code:
<?php
$dir 
'/home/urga/blabla/'

chdir ($dir) or die ("$dir kein verzeichniss oder keine rechte");

$pre = <<<EOT
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>

EOT;
$post = <<<EOT
</array>
</plist>
EOT;

function 
plist ($file$new) {
    global 
$dir$pre$post;
    
$lines file ($file);

    
$fp fopen ($new'w');
    if (! 
$fp) {
        die (
"darf $dir/$new nicht schreiben");
    }
    
fwrite ($fp$pre);
    foreach (
$lines as $l) {
        if (
$l trim ($l)) {
            
fwrite ($fp"<string>$l</string>\n");
        }
    }
    
fwrite ($fp$post);
    
fclose ($fp);
}
foreach (
glob("dictionary-*.txt") as $filename) {
 
$newname str_replace ('dictionary-'''$filename);
 
$newname str_replace ('.txt''.plist'$newname);
 
plist ($filename$newname);
 echo 
"$newname erstellt\n";
}
echo 
"done.\nhave a nice day!\n";
?>
mach ein terminal auf, und starte
> php ....../dict2plist.php

jede andere s*****sprache täte es auch, aber weil ich z.zt soviel php machen muss kann ich das ohne großes nachschlagen direkt runtertippen...
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 25.10.11, 06:09   #3
scraem
Anfänger
 
Registriert seit: Dec 2009
Beiträge: 24
Bedankt: 76
scraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punktescraem putzt sich die Zähne mit Knoblauch. | 1510 Respekt Punkte
Standard

hihihi, das wäre was für's iPhone gewesen, deshalb steht da apple in der addresse drin.
danke, werde ich nachher ausprobieren
__________________
Ich lese mir die [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] durch, bevor ich eine Sig erstelle!
I read the [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] before I create a signature.
scraem ist offline   Mit Zitat antworten
Ungelesen 25.11.11, 10:38   #4
Funkstar2000
Anfänger
 
Registriert seit: Sep 2009
Beiträge: 1
Bedankt: 1
Funkstar2000 ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von urga Beitrag anzeigen
die 10 minuten haste

installier dir php ([ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ])

dann erstelle eine text-datei dict2plist.php:
PHP-Code:
<?php
$dir 
'/home/urga/blabla/'

chdir ($dir) or die ("$dir kein verzeichniss oder keine rechte");

$pre = <<<EOT
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">

EOT;
$post = <<<EOT
</array>
</plist>
EOT;

function 
plist ($file$new) {
    global 
$dir$pre$post;
    
$lines file ($file);

    
$fp fopen ($new'w');
    if (! 
$fp) {
        die (
"darf $dir/$new nicht schreiben");
    }
    
fwrite ($fp$pre);
    foreach (
$lines as $l) {
        if (
$l trim ($l)) {
            
fwrite ($fp"<string>$l</string>\n");
        }
    }
    
fwrite ($fp$post);
    
fclose ($fp);
}
foreach (
glob("dictionary-*.txt") as $filename) {
 
$newname str_replace ('dictionary-'''$filename);
 
$newname str_replace ('.txt''.plist'$newname);
 
plist ($filename$newname);
 echo 
"$newname erstellt\n";
}
echo 
"done.\nhave a nice day!\n";
?>
mach ein terminal auf, und starte
> php ....../dict2plist.php

jede andere s*****sprache täte es auch, aber weil ich z.zt soviel php machen muss kann ich das ohne großes nachschlagen direkt runtertippen...
in der vierten Zeile fehlt doch der Beginn des Arrays
also so:
<array>
Funkstar2000 ist offline   Mit Zitat antworten
Ungelesen 25.11.11, 19:20   #5
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

stimmt völlig ich habs im obigen posting gleich korrigiert. danke.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:49 Uhr.


Sitemap

().