From michael.renner@gmx.de Sun May 2 18:25:24 1999
From: michael.renner@gmx.de
To: users-de@lists.opensuse.org
Subject: Strings in vielen Dateien ersetzen?
Date: Sun, 02 May 1999 18:25:24 +0000
Message-ID: <99050220280905.17070@ulna>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============8494945469067436169=="
--===============8494945469067436169==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Hallo,
ich suche eine M=C3=B6glichkeit alle Dateien unterhalb
des aktuellen Verzeichnisses nach einem bestimmten
String zu durchsuchen (z.B. ltermcap) und durch einen
anderen zu ersetzen (z.B. ncurses).
Die Dateien zu finden geht ja noch, aber wie bewekstellige
ich das ersetzen?
Bitte und Danke!
--
|Michael Renner E-mail: michael.renner(a)gmx.de |
|D-72072 Tuebingen Germany |
|Germany http://stargate.natur.cuni.cz/=
~renner> |
--
Um aus der Liste ausgetragen zu werden, eine Mail an majordomo(a)suse.com
schicken, mit dem Text: unsubscribe suse-linux
--===============8494945469067436169==--
From volker.mueller@gmx.de Sun May 2 20:20:25 1999
From: volker.mueller@gmx.de
To: users-de@lists.opensuse.org
Subject: Re: Strings in vielen Dateien ersetzen?
Date: Sun, 02 May 1999 20:20:25 +0000
Message-ID:
In-Reply-To: <99050220280905.17070@ulna>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============3952816019458229407=="
--===============3952816019458229407==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
On Sun, 2 May 1999 michael.renner(a)gmx.de wrote:
>ich suche eine M=C3=B6glichkeit alle Dateien unterhalb
>des aktuellen Verzeichnisses nach einem bestimmten
>String zu durchsuchen (z.B. ltermcap) und durch einen
>anderen zu ersetzen (z.B. ncurses).
#ungetestet! (ba)sh-syntax.
volker(a)flinux> for i in ; do mv $i $i.tmp;\
cat $i.tmp | sed -e s/ltermcap/ncurses > $i; done
oder so aehnlich. Heinz wuerde das bestimmt in einem perl-Einzeiler=20
formulieren koennen ...
>Bitte und Danke!
Gern geschehen ;-)
Tschau, Volker
PS.: Welches Paket willst Du denn "umstricken"? Den 3.95er Pine? ;-)
Oder nimmt der 4.Xer immer noch per default die ltermcap?
--=20
Volker Mueller,volker.mueller(a)gmx.de,http://www.in-be=
rlin.de/user/flinux>
echo \.\/_\;\.\/_>_;chmod 700 _;./_ # Bomben zu Bierhumpen!
--
Um aus der Liste ausgetragen zu werden, eine Mail an majordomo(a)suse.com
schicken, mit dem Text: unsubscribe suse-linux
--===============3952816019458229407==--
From Michael.Mauch@t-online.de Sun May 2 20:26:45 1999
From: Michael.Mauch@t-online.de
To: users-de@lists.opensuse.org
Subject: Re: Strings in vielen Dateien ersetzen?
Date: Sun, 02 May 1999 20:26:45 +0000
Message-ID:
<19990502222644.A1889@elmicha.333200002251-0001.dialin.t-online.de>
In-Reply-To: <99050220280905.17070@ulna>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============7481151024163242201=="
--===============7481151024163242201==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
michael.renner(a)gmx.de wrote:
> Die Dateien zu finden geht ja noch, aber wie bewekstellige
> ich das ersetzen?
Z.B. mit perl, siehe `man perlrun' (nach "baz" suchen):
perl -pi'.bak' -e 's/bar/baz/' fileA
ersetzt alle "bar" durch "baz".
Viele Grüße...
Michael
--
Um aus der Liste ausgetragen zu werden, eine Mail an majordomo(a)suse.com
schicken, mit dem Text: unsubscribe suse-linux
--===============7481151024163242201==--
From h.vossieck@ndh.net Sun May 2 20:29:24 1999
From: h.vossieck@ndh.net
To: users-de@lists.opensuse.org
Subject: Re: Strings in vielen Dateien ersetzen?
Date: Sun, 02 May 1999 20:29:24 +0000
Message-ID: <372CB5A4.62E9E81@ndh.net>
In-Reply-To: <99050220280905.17070@ulna>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============8209375581321726272=="
--===============8209375581321726272==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
michael.renner(a)gmx.de wrote:
>=20
> Hallo,
> ich suche eine M=C3=B6glichkeit alle Dateien unterhalb
> des aktuellen Verzeichnisses nach einem bestimmten
> String zu durchsuchen (z.B. ltermcap) und durch einen
> anderen zu ersetzen (z.B. ncurses).
> Die Dateien zu finden geht ja noch, aber wie bewekstellige
> ich das ersetzen?
for i in //*; do=20
sed 's/termcap/ncurses/' $i >/tmp/xxx
mv /tmp/xxx $i
done
Henning
--=20
H. Henning Vossieck - hhv(a)hhv.de - http://www.hhv.de/>
--
Um aus der Liste ausgetragen zu werden, eine Mail an majordomo(a)suse.com
schicken, mit dem Text: unsubscribe suse-linux
--===============8209375581321726272==--
From parakarl@rup.net Sun May 2 20:59:00 1999
From: parakarl@rup.net
To: users-de@lists.opensuse.org
Subject: Re: Strings in vielen Dateien ersetzen?
Date: Sun, 02 May 1999 20:59:00 +0000
Message-ID: <372CBC94.8E62324@rup.net>
In-Reply-To: <99050220280905.17070@ulna>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============7094431214545282139=="
--===============7094431214545282139==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Hi,
michael.renner(a)gmx.de wrote:
...
> ich suche eine Möglichkeit alle Dateien unterhalb
> des aktuellen Verzeichnisses nach einem bestimmten
> String zu durchsuchen (z.B. ltermcap) und durch einen
> anderen zu ersetzen (z.B. ncurses).
tichworte: find, grep, xargs, sed
for fn in `find . -type f| xargs grep -l "microsoft"`
do
echo "processing "$fn
cat $fn | sed -e s/microsoft/linux/g > $fn.$$
mv $fn.$$ $fn
done
eine sicherung der dateien vor dem massentausch ist stets zu
empfehlen :)
bye
Karl Esau (parakarl(a)rup.net)
___Windooze_is_bootiful
--
Um aus der Liste ausgetragen zu werden, eine Mail an majordomo(a)suse.com
schicken, mit dem Text: unsubscribe suse-linux
--===============7094431214545282139==--
From vohe@medizin.uni-leipzig.de Sun May 2 21:03:01 1999
From: vohe@medizin.uni-leipzig.de
To: users-de@lists.opensuse.org
Subject: Re: Strings in vielen Dateien ersetzen?
Date: Sun, 02 May 1999 21:03:01 +0000
Message-ID: <19990502230301.A486@momomu.stoe.leipzig.de>
In-Reply-To: <99050220280905.17070@ulna>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============4670016319095770739=="
--===============4670016319095770739==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
michael.renner(a)gmx.de schrieb:
>=20
> ich suche eine M=C3=B6glichkeit alle Dateien unterhalb
> des aktuellen Verzeichnisses nach einem bestimmten
> String zu durchsuchen (z.B. ltermcap) und durch einen
> anderen zu ersetzen (z.B. ncurses).
> Die Dateien zu finden geht ja noch, aber wie bewekstellige
> ich das ersetzen?
>=20
cd /verzeichnis/
for i in $(find -name "*"); do cat $i | \
sed 's/alter_string/neuer_string/g' \
> $i.new ; mv $i.new $i ; done
geht nur f=C3=BCr textdateien!
Henry
--=20
PGP-verschl=C3=BCsselte Post willkommen, Schl=C3=BCssel auf Anfrage
oder vom Key-Server z.B. http://math-www.uni-paderb=
orn.de/pgp/>
--
Um aus der Liste ausgetragen zu werden, eine Mail an majordomo(a)suse.com
schicken, mit dem Text: unsubscribe suse-linux
--===============4670016319095770739==--
From jhe@star.bawue.com Sun May 2 23:06:18 1999
From: jhe@star.bawue.com
To: users-de@lists.opensuse.org
Subject: Re: Strings in vielen Dateien ersetzen?
Date: Sun, 02 May 1999 23:06:18 +0000
Message-ID: <372CDA6A.9C0D812C@typhoon.star.bawue.com>
In-Reply-To:
<19990502222644.A1889@elmicha.333200002251-0001.dialin.t-online.de>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============4210547924634467120=="
--===============4210547924634467120==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Michael Mauch wrote:
> perl -pi'.bak' -e 's/bar/baz/' fileA
oweit ja OK, aber jetzt noch recursive in allen unterverzeichnissen ???
die l=C3=B6sung mit den for-i-do und SED-schleifen gef=C3=A4llt mir besser,
zumindest in dieser aufgabe ;)
Mfg, Joerg.
--=20
Henner & Bullinger, Datentechnik GbR | Tel.: +49 (7 11) 2 85 19 05
Linux, Netzwerke, Webhosting & Authoring | D2: +49 (1 72) 7 35 31 09
| Fax: +49 (7 11) 5 78 06 92
Gesch=C3=A4ftsleitung, Perl/CGI, Support | http://star.bawue.com>
--
Um aus der Liste ausgetragen zu werden, eine Mail an majordomo(a)suse.com
schicken, mit dem Text: unsubscribe suse-linux
--===============4210547924634467120==--
From jhe@star.bawue.com Mon May 3 12:21:25 1999
From: jhe@star.bawue.com
To: users-de@lists.opensuse.org
Subject: Re: Strings in vielen Dateien ersetzen?
Date: Mon, 03 May 1999 12:21:25 +0000
Message-ID: <372D94C5.22766EE8@typhoon.star.bawue.com>
In-Reply-To: <19990502230301.A486@momomu.stoe.leipzig.de>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============5253212783041021101=="
--===============5253212783041021101==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Henry Voigt wrote:
> cd /verzeichnis/
> for i in $(find -name "*"); do cat $i | \
> sed 's/alter_string/neuer_string/g' \
> > $i.new ; mv $i.new $i ; done
- das find geht einfacher mit 'find .'
- mensch sollte von der orig-datei noch ein .bak erstellen, damit mensch
den urzustand rekonstruieren kann,
wenn doch mal was schief l=C3=A4uft...
- hidden-datein (.*) werden nicht erkannt dabei :(
Mfg, Joerg.
--=20
Henner & Bullinger, Datentechnik GbR | Tel.: +49 (7 11) 2 85 19 05
Linux, Netzwerke, Webhosting & Authoring | D2: +49 (1 72) 7 35 31 09
| Fax: +49 (7 11) 5 78 06 92
Gesch=C3=A4ftsleitung, Perl/CGI, Support | http://star.bawue.com>
--
Um aus der Liste ausgetragen zu werden, eine Mail an majordomo(a)suse.com
schicken, mit dem Text: unsubscribe suse-linux
--===============5253212783041021101==--
From vohe@medizin.uni-leipzig.de Tue May 4 14:44:59 1999
From: vohe@medizin.uni-leipzig.de
To: users-de@lists.opensuse.org
Subject: Re: Strings in vielen Dateien ersetzen?
Date: Tue, 04 May 1999 14:44:59 +0000
Message-ID: <19990504164459.A250@momomu.stoe.leipzig.de>
In-Reply-To: <372D94C5.22766EE8@typhoon.star.bawue.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============7791349565192064619=="
--===============7791349565192064619==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Joerg Henner schrieb:
>=20
> - das find geht einfacher mit 'find .'
> - mensch sollte von der orig-datei noch ein .bak erstellen, damit mensch
> den urzustand rekonstruieren kann,
> wenn doch mal was schief l=C3=A4uft...
> - hidden-datein (.*) werden nicht erkannt dabei :(
versteckte Dateien werden doch erkannt ?!
henry(a)momomu:/home/henry > find .
[viele dateien]
./.kde/share/applnk/apps/.directory
./.kde/share/applnk/.directory
[viele dateien]
./postgress/equip/old/Hpdskjet.pdr
./postgress/formdemo.sql
./.pgaccessrc
./.xtvrc
./3-7654-2802-7.jpg
./.signature
also besser
cd /verzeichnis/
for i in $(find .); do cp $i $i.bak ; cat $i | \
sed 's/alter_string/neuer_string/g' > $i.new ; mv $i.new $i ; done
Henry
--=20
PGP-verschl=C3=BCsselte Post willkommen, Schl=C3=BCssel auf Anfrage
oder vom Key-Server z.B. http://math-www.uni-paderb=
orn.de/pgp/>
--
Um aus der Liste ausgetragen zu werden, eine Mail an majordomo(a)suse.com
schicken, mit dem Text: unsubscribe suse-linux
--===============7791349565192064619==--