From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Subject: Re: [Comm] =?iso-8859-5?Q?=C7=E2=DE?= =?iso-8859-5?Q?_=E2=D0=DA=DE=D5?= subst? From: Yura Kalinichenko To: michaelholzman@gmail.com, AltLinux Community Maillist In-Reply-To: References: Content-Type: text/plain; charset=koi8-u Organization: iceB Software Group Date: Mon, 19 Sep 2005 20:52:15 +0300 Message-Id: <1127152335.2842.3.camel@yuk.home.int> Mime-Version: 1.0 X-Mailer: Evolution 2.0.1 (2.0.1-alt0.5) Content-Transfer-Encoding: quoted-printable Cc: X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Linux Community List-Id: ALT Linux Community List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Sep 2005 13:34:26 -0000 Archived-At: List-Archive: List-Post: =F7 =F0=CE=C4, 19/09/2005 =D7 19:05 +0300, Michael Holzman =D0=C9=DB=C5=D4= : > On 9/19/05, Eugene Ostapets wrote: > > =EE=C5=D5=D6=C5=CC=C9 =D1 =D4=C1=CB =CE=C5=D7=CE=D1=D4=CE=CF =C7=CF=D7= =CF=D2=C0? > =F5=D7=D9, =CD=CF=C5=C7=CF =D3=CB=D5=C4=CE=CF=C7=CF =C9=CE=D4=C5=CC=CC=C5= =CB=D4=C1 =CE=C5 =C8=D7=C1=D4=C9=CC=CF. > > eostapets@eugene ~/RPM/SOURCES $ rpm -qf `which subst` > > sed-4.1.4-alt2 > =E7=D2=D5=C2=CF =C7=CF=D7=CF=D2=D1, =CD=CE=C5 =CE=C1=C4=CF =DA=C1=CD=C5= =CE=C9=D4=D8 sed. =F6=C1=CC=CB=CF. =EE=C1 =D2=C1=C2=CF=D4=C5 =CD=CE=C5 =DC= =D4=CF =CE=C5 > =D0=CF=DA=D7=CF=CC=D1=D4. =E2=D5=C4=C5=CD =CF=C2=C8=CF=C4=C9=D4=D8=D3=D1= =D3=D4=C1=D2=D9=CD=C9 =D3=D2=C5=C4=D3=D4=D7=C1=CD=C9 :'( =EE=C5 =DA=CE=C1=C0 =DE=C5=C7=CF =C9=CD=C5=CE=CE=CF =D7=C1=CD =CE=C5 =C8=D7= =C1=D4=C1=C5=D4, =D7=CF=DA=CD=CF=D6=CE=CF =D0=CF=C4=CF=CA=C4=C5=D4 =D7=CF= =D4 =D4=C1=CB=CF=CA =D3=CB=D2=C9=D0=D4: #!/bin/sh if [ $# -lt 3 ]; then echo "Usage: subs from_pattern to_pattern files" exit 1 fi pat=3D$1 shift topat=3D$1 shift files=3D$* tf=3D`mktemp /tmp/subs.XXXXXXXX` delims=3D"/ ( ) : % & - =3D" for c in $delims ; do echo -n "$pat" | grep -q $c if [ $? -eq 0 ]; then=20 continue else echo -n "$topat" | grep -q $c if [ $? -eq 0 ]; then continue else dm=3D$c break fi fi done if [ -z "$dm" ]; then echo "ERROR: no delimiters" exit 1 fi for fn in $files ; do grep -q "$pat" $fn if [ $? -eq 0 ]; then echo $fn: "$pat" --\> "$topat" cp $fn ${fn}~ sed -e "s${dm}$pat${dm}$topat${dm}g" $fn > $tf if [ $? -eq 0 ]; then mv $tf $fn else echo "ERROR-ERROR-ERROR-ERROR" fi fi done