1 |
On Freitag, 12. November 2004 09:58, Daniel Rindt wrote: |
2 |
> ich muss von der Konsole aus in vielen Dateien eine Zeichenkette |
3 |
> ersetzen. Die Dateien im Unterverzeichnis müssten jedoch mit |
4 |
> berücksichtigt werden. Jetzt habe ich mich schon ein wenig tiefer |
5 |
> in "man grep" eingelesen, leider erfolglos was ich probiert habe. |
6 |
> Es wurde zwar geändert aber nicht in das was ich wollte. :( |
7 |
> |
8 |
> Kann mir jemand helfen? |
9 |
> |
10 |
> Also Suche: "test1" ändere in "test2" und: -r ./* |
11 |
|
12 |
sed (StreamingEditor) ist Dein Freund: |
13 |
|
14 |
sed -i -e s/suchtext/ersetzungstext/g dateiname.html |
15 |
oder auch |
16 |
sed -i -e s:suchtext:ersetzungstext:g dateiname.html |
17 |
|
18 |
daraus folgt entweder: |
19 |
|
20 |
find /pfad/name -name "*.html" -exec sed -i -e \ |
21 |
s:suchtext:ersetzungstext:g {} \; |
22 |
|
23 |
oder |
24 |
|
25 |
for i in $(grep -l -s -d recurse -e "suchtext" /pfad/name); do sed -i\ |
26 |
-e s/suchtext/ersetzungstext/g ${i} ; done |
27 |
|
28 |
|
29 |
Aber Vorsicht, weil man an solchen "Kurzscripts" immer noch ein wenig |
30 |
an der Syntax feilen muß um ggf. Metazeichen,etc. durch Quoting vor |
31 |
der Shell schützen muß. |
32 |
Ich habe die Kommandoketten also jetzt nicht geprüft. Benutzung auf |
33 |
eigene Gefahr. |
34 |
|
35 |
|
36 |
-- |
37 |
Gruss |
38 |
|
39 |
Peter |
40 |
|
41 |
-- |
42 |
gentoo-user-de@g.o mailing list |