Schrift
[thread]9675[/thread]

Shellprogramm für Ersetzungen

Leser: 1


<< >> 10 Einträge, 1 Seite
format_c
 2004-04-10 17:48
#94470 #94470
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Hi,
Ich weis, dass Perl in ferner Vergangen heit eine Kombination aus sed und awk sein sollte und mittlerweile sehr viel mehr draus wurde.

Ich glaube mit einem von diesem Programmen kann man doch auf der Kommandozeile Ersetzungen in einer Datei machen ähnlich wie s/// .

Kann mir jemand das sagen?

Gruß Alex
tomlong
 2004-04-10 18:10
#94471 #94471
User since
2003-08-04
93 Artikel
BenutzerIn
[default_avatar]
[quote=format_c,10.04.2004, 15:48]Ich glaube mit einem von diesem Programmen kann man doch auf der Kommandozeile Ersetzungen in einer Datei machen ähnlich wie s/// .[/quote]
jupp also für sowas würde ich sed benutzen ... denn ...

Quote
Sed is a stream editor. A stream editor is used to per­
form basic text transformations on an input stream (a file
or input from a pipeline). While in some ways similar to
an editor which permits scripted edits (such as ed), sed
works by making only one pass over the input(s), and is
consequently more efficient. But it is sed's ability to
filter text in a pipeline which particularly distinguishes
it from other types of editors.


sprich du kannst nach sed pipen und den output bearbeiten ... in Zusammenarbeit mit cat oder ähnlichen (oder auch ganz anderen) tools sehr mächtig :)

zu awk kann ich dir pers. nich viel sagen ... man awk sollte aber weiterhelfen

Gruß, Tom
Live long and prosper!
42;
format_c
 2004-04-10 19:22
#94472 #94472
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Kannst du vielleicht mal ein Anwendungsbeispiel geben?

Gruß Alex
tomlong
 2004-04-10 19:52
#94473 #94473
User since
2003-08-04
93 Artikel
BenutzerIn
[default_avatar]
naja ... also im Prinzip funzt es ganz simpel mit

sed <command> oder <script> <file>
also: sed s/ABC/DEF/ lala.txt

dabei wird dann aber nur nach STDOUT geprintet ist mir gerade aufgefallen :) ... also pipest du die ausgabe zu einem andern prog was dir die ergebnisse in die datei schreibt ... wer weiss vielleicht kann das ja awk :D
ansonsten sind die manpages zu sed sehr umfangreich ... vielleicht kann man sogar mit ner extra option die ergebnisse gleich zurück in die datei schreiben lassen, wobei ich denke sed = stream editor sagt da eher das gegenteil ... also mein tipp: manpages anschaun :)

hth
Live long and prosper!
42;
format_c
 2004-04-10 21:54
#94474 #94474
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Oder leite die Ausgabe in eine andere Datei umn !
Hier eine ganz gutes Tutorial zu sed: http://pegasus.rutgers.edu/~elflord/unix/sed.html
Und hier eins zu awk: http://hcs.harvard.edu/~dholland/computers/awk.html
Awk ist Perl gar nicht so unähnlich.

Danke für die Gehhilfe
Gruß Alex\n\n

<!--EDIT|format_c|1081619724-->
tomlong
 2004-04-10 22:08
#94475 #94475
User since
2003-08-04
93 Artikel
BenutzerIn
[default_avatar]
no prob ... nächstes semester muss ich mich auch in sed reinarbeiten :-/
Live long and prosper!
42;
lichtkind
 2004-04-11 14:24
#94476 #94476
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
übrigens sollte perl nie eine kombination aus sed und awk sein
es hat schon früher features mehrer sprachen kombiniert.

während aus sed das einfloss was später zu den berühmten regexes wurde
befasst sich sich awk mit der neugruppierung von worten
zu einer zeit als ein unixkernel 64kB Ram zur verfügung hatte und tabellen
in textdatein gespeichert waren nannte sich die tabellenkalkulation
oder zumindest etwas ähnliches awk.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Strat
 2004-04-11 17:57
#94477 #94477
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
in perl kann man sowas auch recht gut machen, siehe z.B. http://www.fabiani.net/ -> Vortraege -> Perl in der Kommandozeile
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
format_c
 2004-04-11 18:47
#94478 #94478
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ja das würde ich auch hinbekommen. ich wollte es nur mit einem direkt dafür bestimmten Konsolenprogramm probieren.

Gruß Alex
Strat
 2004-04-12 13:28
#94479 #94479
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
dann kurz:
sed's staerke ist, was mit regulaeren ausdruecken zeilenweise zu veraendern
awk's staerke ist, spalten in einer textdatei zu veraendern
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 10 Einträge, 1 Seite



View all threads created 2004-04-10 17:48.