Hallo,
Kann ich den 'vi' mit einer Kommandozeile folgendes machen: Suche die Zeichenfolge 'fghij' und füge davor 'abcde' ein. Wenn ja, wie?
merci, christian
am Mon, dem 02.04.2001, um 6:51:41 +0200 mailte Christian Wippermann folgendes:
Hallo,
Kann ich den 'vi' mit einer Kommandozeile folgendes machen: Suche die Zeichenfolge 'fghij' und füge davor 'abcde' ein. Wenn ja, wie?
das ist eher etwas für sed, oder, da wir am Mittwoch den tollen Vortrag zu awk hatten, awk.
sed:
cat file | sed -e 's/fghij/abcdefghij/'
awk:
sollte ähnlich gehen, hab die Syntax aber nicht im Kopf =:-(
Andreas
Am Montag, dem 02. April 2001 um 07:52:58, schrieb A . Kretschmer:
am Mon, dem 02.04.2001, um 6:51:41 +0200 mailte Christian Wippermann folgendes:
Kann ich den 'vi' mit einer Kommandozeile folgendes machen: Suche die Zeichenfolge 'fghij' und füge davor 'abcde' ein. Wenn ja, wie?
das ist eher etwas für sed, oder, da wir am Mittwoch den tollen Vortrag zu awk hatten, awk.
sed:
cat file | sed -e 's/fghij/abcdefghij/'
'sed', Du gehoerst wohl noch zur alten Garde? ;-)
Im vi:
:%s/fghij/abcdefghij/g
Torsten
am Mon, dem 02.04.2001, um 9:13:35 +0200 mailte Torsten Werner folgendes:
Kann ich den 'vi' mit einer Kommandozeile folgendes machen: Suche die Zeichenfolge 'fghij' und füge davor 'abcde' ein. Wenn ja, wie?
'sed', Du gehoerst wohl noch zur alten Garde? ;-)
;-)
Im vi:
:%s/fghij/abcdefghij/g
ich habe die Frage eher so verstanden, daß es ohne weitere Benutzerinteraktion als Filter laufen soll. Geht sicher auch mit vi, aber wahrscheinlich doch besser mit sed.
Andreas
Torsten Werner wrote:
Am Montag, dem 02. April 2001 um 07:52:58, schrieb A . Kretschmer:
am Mon, dem 02.04.2001, um 6:51:41 +0200 mailte Christian Wippermann folgendes:
Kann ich den 'vi' mit einer Kommandozeile folgendes machen: Suche die Zeichenfolge 'fghij' und füge davor 'abcde' ein. Wenn ja, wie?
Im vi:
:%s/fghij/abcdefghij/g
vi -c "%s/fghij/abcdefghij/g" -c "wq" Quelle
So gehts dann auch auf der Kommandozeile.
Rico
Am Montag, dem 09. April 2001 um 15:22:00, schrieb Rico Koerner:
vi -c "%s/fghij/abcdefghij/g" -c "wq" Quelle
Viel zu lang! ;-)
vi -c "%s/(fghij)/abcde\1/g|x" Quelle
Torsten
On Mon, Apr 09, 2001 at 03:22:00PM +0200, Rico Koerner wrote:
vi -c "%s/fghij/abcdefghij/g" -c "wq" Quelle
So gehts dann auch auf der Kommandozeile.
Oh Schreck. Dann bin ich für
ssh localhost xterm -e vi -c "%s/fghij/abcdefghij/g" -c "wq" Quelle
Reinhard
On Mon, Apr 02, 2001 at 06:51:41AM +0200, Christian Wippermann wrote:
Hallo,
Kann ich den 'vi' mit einer Kommandozeile folgendes machen: Suche die Zeichenfolge 'fghij' und füge davor 'abcde' ein. Wenn ja, wie?
bin zwar kein vi-nutzer, aber mit "s/fghij/abcdefghij/g" sollte es gehen. Eventuell muss noch ein % an den Anfang???
Reinhard
Hallo Christian,
was Du beschrieben hast, wuerde ich mit awk so machen:
gawk '{gsub(/fghij/, "abcdefghij"); print $0}' mytext > mytext2
"Ersetze die Zeichenfolge 'fghij' durch 'abcdefghij' und schreibe sie in die Ausgabe(datei)".
Bitte auf die Klammern achten :-) Die awk-Kommandozeile wird durch '{ }' - also mit *geschweiften Klammern* eingeschlossen. Die Argumente der Funktion gsub(/Ausdruck/, "Ersetzung"); stehen in runden Klammern.
HTH Stefan
Am Montag, dem 02. April 2001 um 09:11:50, schrieb Stefan Lagotzki:
was Du beschrieben hast, wuerde ich mit awk so machen:
Am Montag, dem 02. April 2001 um 09:09:44, schrieb Christian Wippermann:
beides funzt fuer mich. nun hab ich wohl die qual der wahl. ;-)
Wie waere es noch mit:
perl -pe 's/fghi/abcdefghi/g' dateiname > neuedatei
?
Torsten
am Mon, dem 02.04.2001, um 10:17:23 +0200 mailte Torsten Werner folgendes:
Wie waere es noch mit:
perl -pe 's/fghi/abcdefghi/g' dateiname > neuedatei
und nun überlegt jeder noch einmal, ob ihm nicht noch was einfällt ;-)
Andreas
Am Montag, 2. April 2001 09:39 schrieb A . Kretschmer:
und nun überlegt jeder noch einmal, ob ihm nicht noch was einfällt ;-)
for i in `cat isschonspaetdeshalbklassisch`; do if test $i = "fghi"; then echo "abcdefghi"; else echo $i; fi; done > isnunochspaeterdeshalbnaja
Das geht natürlich nur bei kompletten Zeilenersetzungen.
Josef Spillner
lug-dd@mailman.schlittermann.de