[Comm] Что такое subst?
Yura Kalinichenko
=?iso-8859-1?q?yuk_=CE=C1_iceb=2Evinnitsa=2Ecom?=
Пн Сен 19 21:52:15 MSD 2005
В Пнд, 19/09/2005 в 19:05 +0300, Michael Holzman пишет:
> On 9/19/05, Eugene Ostapets <eostapets на gmail.com> wrote:
> > Неужели я так невнятно говорю?
> Увы, моего скудного интеллекта не хватило.
> > eostapets на eugene ~/RPM/SOURCES $ rpm -qf `which subst`
> > sed-4.1.4-alt2
> Грубо говоря, мне надо заменить sed. Жалко. На работе мне это не
> позволят. Будем обходиться старыми средствами :'(
Не знаю чего именно вам не хватает, возможно подойдет вот такой скрипт:
#!/bin/sh
if [ $# -lt 3 ]; then
echo "Usage: subs from_pattern to_pattern files"
exit 1
fi
pat=$1
shift
topat=$1
shift
files=$*
tf=`mktemp /tmp/subs.XXXXXXXX`
delims="/ ( ) : % & - ="
for c in $delims ; do
echo -n "$pat" | grep -q $c
if [ $? -eq 0 ]; then
continue
else
echo -n "$topat" | grep -q $c
if [ $? -eq 0 ]; then
continue
else
dm=$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
Подробная информация о списке рассылки community