Code: Alles auswählen
# sed -i 's/info/ULOG/g' *
sed meldete:
Code: Alles auswählen
sed: couldn't edit orig: not a regular file
Grüße, Günther
Code: Alles auswählen
# sed -i 's/info/ULOG/g' *
Code: Alles auswählen
sed: couldn't edit orig: not a regular file
Code: Alles auswählen
find ./ -type f -exec sed -i 's/info/ULOG/g' {} \;
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Eben das wollte mir der Befehl doch eigentlich ersparen, wenn ich recht sehe. Also ich sehe zwei Möglichkeiten: Entweder ich entferne alles Selbsterstellte im fraglichen Verzeichnis und probiere dann den sed-Befehl (der ja nicht von mir stammt) noch einmal, oder ich klappere die Dateien, die in Frage kommen, mit einem Editor händisch ab. Dann brauche ich kein "sed". Dann kann ich das "info" auch direkt ersetzen. Sollte ich Alternative1 probieren? (Ginge wohl schneller, wenn sie funktioniert).Du musst halt hinten anhängen in welchen Datein du ersetzt haben willst.
guennid hat geschrieben:@ 4A4B
Ich weiß immer ganz gerne, was ich so tue. Hättest du die Zeit und die Muße, mir deinen Vorschlag einschließlich aller kryptischen Zeichen zu erklären?
Code: Alles auswählen
find # suche
./ # im aktuellen Verzeichnis
-type f # reguläre Dateien
-exec # führe mit diesen folgenden Befehl aus:
sed -i 's/info/ULOG/g' {} # {} wird hierbei ersetzt durch die gefundenen Dateien
\; # markiert das Ende des Befehls; das "\" ist notwendig, damit die Shell das ";" an find weiterreicht
Code: Alles auswählen
find ./ -maxdepth 1 -type f -exec sed -i 's/info/ULOG/g' {} \;