wie extrahiere ich bestimmte textteile aus einer datei?
-
headstartforhappiness
- Posts: 4
- Joined: 2003-05-31 11:44
wie extrahiere ich bestimmte textteile aus einer datei?
also, ich habe eine datei, in der völlig ungeordnet und inmitten anderer dinge (mit leerzeichen oder tabulator getrennt) immer wieder was in der art "beliebiglangertext@localhost" drinsteht. nun würde ich gerne alles links vom @ bis zum vorhergehenden leerzeichen plus das "@localhost" hintendran in eine neue datei, und zwar mit einem eintrag pro zeile und strichpunkt dahinter, schreiben.
aus:
abc blabla xyz test@localhost a@localhost cce
sollte quasi
test@localhost;
a@localhost;
werden.
wie stelle ich das an? mit welchen programmen kann ich das machen?
headstart
aus:
abc blabla xyz test@localhost a@localhost cce
sollte quasi
test@localhost;
a@localhost;
werden.
wie stelle ich das an? mit welchen programmen kann ich das machen?
headstart
-
majortermi
- Userprojekt

- Posts: 916
- Joined: 2002-06-17 16:09
Re: wie extrahiere ich bestimmte textteile aus einer datei?
man grep
und vielleicht auch
man awk
und vielleicht auch
man awk
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
Warum man sich an diese Reihenfolge halten sollte...
-
deanwickert
- Posts: 77
- Joined: 2003-05-13 23:20
- Location: Lahnstein
- Contact:
Re: wie extrahiere ich bestimmte textteile aus einer datei?
Also ich würde da schnell nen PHP-Script zusammenschrauben.
Habs nicht getestet, also keine Garantie, dass es läuft. Aber vom Prinzip her sollte es gehen.
Code: Select all
<?php
$datei = "dateiname.txt";
$fp = fopen ($datei, "r");
$filesize = filesize ($datei);
$textfile = fread ($fp, $filesize);
$help = explode (" ", $textfile);
for ($n=0; $n<count($help); $n++) {
if (eregi (".{1,}@localhost", $help[$n])) {
$outputfile = "dateiausgabe.txt";
$open = fopen ($outputfile, "a");
fwrite ($open, "$help[$n];n");
fclose ($open);
}
}
?>-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: wie extrahiere ich bestimmte textteile aus einer datei?
Da kommen die PHPler wieder aus den Löchern hervorgekrochen ... und das, wo es mit einem Shell-Einzeiler getan gewesen wäre ... ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
-
olaf.dietsche
- Posts: 401
- Joined: 2002-12-19 02:06
- Location: Siegburg
Re: wie extrahiere ich bestimmte textteile aus einer datei?
So oder so ähnlich sollte es gehen:headstartforhappiness wrote:also, ich habe eine datei, in der völlig ungeordnet und inmitten anderer dinge (mit leerzeichen oder tabulator getrennt) immer wieder was in der art "beliebiglangertext@localhost" drinsteht. nun würde ich gerne alles links vom @ bis zum vorhergehenden leerzeichen plus das "@localhost" hintendran in eine neue datei, und zwar mit einem eintrag pro zeile und strichpunkt dahinter, schreiben.
aus:
abc blabla xyz test@localhost a@localhost cce
sollte quasi
test@localhost;
a@localhost;
werden.
wie stelle ich das an? mit welchen programmen kann ich das machen?
headstart
Code: Select all
tr -s '[:space:]' 'n' <datei | grep @ | sed -e 's/$/;/'-
deanwickert
- Posts: 77
- Joined: 2003-05-13 23:20
- Location: Lahnstein
- Contact:
Re: wie extrahiere ich bestimmte textteile aus einer datei?
Dann eben:CaptainCrunch wrote:Da kommen die PHPler wieder aus den Löchern hervorgekrochen ... und das, wo es mit einem Shell-Einzeiler getan gewesen wäre ... ;)
Code: Select all
<?php
echo shell_exec ("tr -s '[:space:]' 'n' <datei | grep @ | sed -e 's/$/;/'");
?>-
headstartforhappiness
- Posts: 4
- Joined: 2003-05-31 11:44
Re: wie extrahiere ich bestimmte textteile aus einer datei?
heeyy :-), vielen dank für eure antworten! ich hätte nie gedacht, dass soviel und so aufwendig geholfen wird. ich werd damit was zusammenbasteln können, also DANKE nochmal!
headstart
headstart