Textdateien Modifizieren

Status
Für weitere Antworten geschlossen.

-007-ß

Benutzer
Mitglied seit
27. Apr 2009
Beiträge
103
Punkte für Reaktionen
0
Punkte
0
Ich bräuchte eine Methode, mit der ich in einem shell-script eine textdatei modifizieren kann!
Weis da jemand zufällig was?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Eventuell hilft dir der Web-Editor als 3rd-party-apps.

Itari
 

-007-ß

Benutzer
Mitglied seit
27. Apr 2009
Beiträge
103
Punkte für Reaktionen
0
Punkte
0
Ich möchte ja keinen editor sondern eine Lösung, die ich in einem scropt verwenden kann
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Da bietet sich der sed an - manchmal auch der awk ...

Itari
 

-007-ß

Benutzer
Mitglied seit
27. Apr 2009
Beiträge
103
Punkte für Reaktionen
0
Punkte
0
sed hab ich schon probiert, der ersetzt aber immer nur EINE Zeichenkette pro Zeile, ich möchte aber alle ersetzt bekommen.

Wie siehts da mit dem awk aus, ist das bei dem auch so?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
sed hab ich schon probiert, der ersetzt aber immer nur EINE Zeichenkette pro Zeile, ich möchte aber alle ersetzt bekommen.

Das kann man durch Hintereinanderschalten, Optionsschalter oder durch sed-Skripte schon hinbekommen. Ist halt alles nicht unbedingt immer ganz einfach ... manchmal kann man tagelang an einem RE herumbasteln.

Das wäre auch beim awk möglich.

Es wäre auch auf der Kommandozeile oder per Shell-Skript möglich den Kommandozeilen PHP-Interpreter zu verwenden, welcher ausgesprochen mächtige Substitionsmöglichkeiten hätte. Auch perl (funktioniert eine wenig wie awk plus shell) ist super geeignet für Textmanipulationen.

Alle Tools sind zum Beispiel auch für Windows (und andere Plattformen) verfügbar, so dass man recht universell einsetzbare Skripte entwickeln kann.

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Es wäre auch auf der Kommandozeile oder per Shell-Skript möglich den Kommandozeilen PHP-Interpreter zu verwenden, welcher ausgesprochen mächtige Substitionsmöglichkeiten hätte.
Geht denn das jetzt in der aktuellsten Firmware von Hause aus? Vorher musste man sich doch php via ipkg installieren, damit man aus der shell an PHP kommen konnte.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Geht denn das jetzt in der aktuellsten Firmware von Hause aus? Vorher musste man sich doch php via ipkg installieren, damit man aus der shell an PHP kommen konnte.

Man muss per IPKG installieren, aber das ist ja kein wirkliches Problem. Perl ist mittlerweile vorhanden. Und Perl ist neben Python eine Super-Programmiersprache.

Itari
 

-007-ß

Benutzer
Mitglied seit
27. Apr 2009
Beiträge
103
Punkte für Reaktionen
0
Punkte
0
Das hintereinanderschachteln von sed kann man sich sparen:
echo HakkoHakko | sed 's/k/l/'
Gibt ja eben nach dem oben beschriebenen Problem nicht wie erwartet "HalloHallo" aus, sondern das Ergebnis lautet "HalkoHakko"

Will man nun "HalloHallo" haben, dann schachtelt man entweder sed hintereinander oder man schreibt
echo HakkoHakko |sed 's/k/l/g'

Das erzielt dann den gewünschten Effekt, nämlich "HalloHallo"
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Ich hatte dich da wohl missverstanden, denn ich dachte, du wolltest aus der Zeile, z. B. "ich bin Hans Meier und nicht Karl Schulz" den "Hans" gegen "Otto" und den "Karl" gegen "August" austauschen ... halt eine Zeichenkette gegen eine andere und das mehrfach in einer Zeile ... das andere wäre der 'global'-Schalter 'g', der den RE mehrfach auf die Zeile anwendet ...

Itari
 

-007-ß

Benutzer
Mitglied seit
27. Apr 2009
Beiträge
103
Punkte für Reaktionen
0
Punkte
0
Ja, da haben wir wohl etwas aneinander vorbeigeredet
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat