PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sed: suchen/ersetzen im ganzen Verzeichnis



Klaus111
10.04.09, 18:22
Hallo,

ich habe ca. 100 Dateien in ein Verzeichnis kopiert. In diesen ist jeweils der string "abcd e" enthalten, den ich durch "abcd_ef" ersetzen möchte.

Ich gehe als mit der Konsole in das entsprechende Verzeichnis und muss einen Befehl mit "sed" eingeben.

Meine bisherigen Versuche waren leider nicht erfolgreich.

Wie muss die Eingabe exakt lauten?

Freundliche Grüße

Klaus

buzz768
10.04.09, 18:44
ich habe ca. 100 Dateien in ein Verzeichnis kopiert. In diesen ist jeweils der string "abcd e" enthalten, den ich durch "abcd_ef" ersetzen möchte.
Willst du die Dateinamen ändern oder den Text in den Dateien?

Klaus111
10.04.09, 18:46
Den Text der Dateien, die Dateinamen sollen bleiben.

Freundlichen Grüße
Klaus

buzz768
10.04.09, 18:48
sed -i 's/abcd e/abcd_ef/g' *

Klaus111
10.04.09, 19:02
Danke für die Antwort, doch wenn ich das in die Konsole eingebe, passiert mit den Dateien leider nichts.

Nach Eingabe wird in der Konsole nicht mehr der ganze Pfad angezeigt, sondern nur noch ">".

Keine sonstige Reaktion, keine Fehlermeldung.

Mache ich etwas falsch?

Klaus111
10.04.09, 19:08
Alles klar! Funktioniert bestens!

Hatte statt ' ein " eingegeben.

Freundliche Grüße und vielen Dank!

Klaus

saint.itch
10.04.09, 20:12
Hallo

Eine Frage am Rande:
Kennt einer den Grund warum einige Programme
nur ein ' anstatt ein " akzeptieren?

Beides sind Zeichen zur makierung von Sätzen.

Englisch und Deutsch unterschied?
Im englischen verwendet man glaube ich das '
anstatt das ". Aber warum funktioniert dann "
bei den meisten anderen Programmen?

Danke

zyrusthc
10.04.09, 20:48
@saint.itch
' hat meist eine höhere Priorität als " , so kann man " in ' verwenden.
zb. echo kann beides...
echo '"'
"
echo "'"
'


Greeez Oli

saint.itch
11.04.09, 17:26
Hm.

Sowas wisssen nur Menschen die das Handbuch gelesen haben... :)

Danke.

marce
12.04.09, 08:17
sed sollte auch beides können.

"höhere Priorität" würde ich aber nicht sagen - eher die gleiche. Sie verhalten sich nur anders in der Interpretation von Sonderzeichen im gequoteten String.

saint.itch
15.04.09, 00:29
Sonderzeichen?
Bedeutet?

Also ich war/bin der Meinung,
das ' die englische/amerikanische
Version von " ist.

Also weder Priorität noch Sonderzeichen
sollten einen Unterschied machen.

Wenn jemand eine Stelle aus einem Handbuch
zitieren könnte wärs vielleicht etwas genauer...

HirschHeisseIch
15.04.09, 01:22
Einfaches Beispiel:


hirschheisseich:~$ VARIABLE="test"
hirschheisseich:~$ echo "$VARIABLE"
test
hirschheisseich:~$ echo '$VARIABLE'
$VARIABLE


Das meinte marce z.B. mit Sonderzeichen.

Ist kein wirkliches Verhalten von 'echo', sondern eher der Bash... Ich hab aber grad wenig Lust, die entsprechende Stelle aus man bash zu suchen. ;)

saint.itch
17.04.09, 03:29
Oh K. :)

Die Sinnhaftigkeit erschließt sich mir dadurch
aber immer noch nicht, denn dafür gibt es das
escape Zeichen und Windowspfadtrenner aka \.

echo "\$VARIABLE"

saint.itch
17.04.09, 03:33
Wenn ich eine Ahnung hätte wie ich
die Frage nach der Sinnhaftigkeit in
google eingeben müsste, würd ich
suchen.

Allerdings bin ich pragmatiker. Ich habe
mich damit begnügt zu verstehen
anstatt Vokabeln zu lernen und
kann daher keine formale Fragen
stellen, die die benötigten Fachtermini
beinhalten und somit zu einer Antwort
führen würden.

m.o.o.
17.04.09, 15:05
Oh K. :)

Die Sinnhaftigkeit erschließt sich mir dadurch
aber immer noch nicht, denn dafür gibt es das
escape Zeichen und Windowspfadtrenner aka \.

echo "\$VARIABLE"

Es gibt auch mindestens zwei Varianten für die Kommandosubstitution ($(command) und `command`). Vielleicht ist die Schreibweise mit ' einfach für faule Leute gedacht. ;)

PS: warum machst du eigentlich immer so komische Zeilenumbrüche?

saint.itch
19.04.09, 14:25
Es gibt auch mindestens zwei Varianten für die Kommandosubstitution ($(command) und `command`). Vielleicht ist die Schreibweise mit ' einfach für faule Leute gedacht. ;)

PS: warum machst du eigentlich immer so komische Zeilenumbrüche?

Aus dem selben Grund wie Zeitschriften/Zeitungen.
Ist angenehmer zu lesen. Und da sich diese behauptung
bei mir erwiesen hat, schreib ich auch so. Sieht zwar
merkwürdig aus, weil hier ja keine Spalten sind in die
ich reinschreiben würde und insgesammt mehr Platz
verbraucht wird, aber trotzdem sehr einfach zu lesen. :)

( Hab zu lange zu viele Zeitschriften gelesen... ;) )