The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
sed- поиск строк, !*! newbie, 09-Сен-09, 04:33  [смотреть все]
Подскажите, где ошибка. Нужно из:
TTY=""
MOUNTPOINT=""
OPTIONS=""

получить:
TTY="/dev/head"
MOUNTPOINT="/dev/ass"
OPTIONS=""
Находит почему-то только строку с MOUNTPOINT
Спасибо.
-----------------------------------------
#!/bin/sh -e
#
INITCONFFILE=~/owfs

# Generate configuration file if it does not exist, using default values.
[ -r "${INITCONFFILE}" ] || {
        echo Generating ${INITCONFFILE}... >&2
        cat >${INITCONFFILE} <<'EOFMAGICNUMBER1234'
#

TTY=""
MOUNTPOINT=""
OPTIONS=""
EOFMAGICNUMBER1234
}

MOUNTPOINT="/dev/ass"
MOUNTPOINT=$(echo "$MOUNTPOINT" | sed -e 's/\//\\\//g')

TMPFILE=~/owfs.dpkg-tmp

sed -i -e "s/^[[:space:]]*MOUNTPOINT[[:space:]]*=.*/MOUNTPOINT=\"$MOUNTPOINT\"/" \
        ${INITCONFFILE}

TTY="/dev/head"
TTY=$(echo "$TTY" | sed -e 's/\//\\\//g')

sed -i -e "s/^[[:space:]]*TTY[:space:]]*=.*/TTY=\"$TTY\"/" \
        ${INITCONFFILE}

  • sed- поиск строк, !*! Andrey Mitrofanov, 09:31 , 09-Сен-09 (1)
    >Подскажите, где ошибка. Нужно из:
    >Находит почему-то только строку с MOUNTPOINT

    Почему не - не знаю (второй sed ни на что не ругается?), но советовал бы сделать один вызов sed-а:

    >[оверквотинг удален]
    >EOFMAGICNUMBER1234
    >}
    >
    >MOUNTPOINT="/dev/ass"
    >MOUNTPOINT=$(echo "$MOUNTPOINT" | sed -e 's/\//\\\//g')
    >
    >TTY="/dev/head"
    >TTY=$(echo "$TTY" | sed -e 's/\//\\\//g')

    sed -i -e "s/^[[:space:]]*MOUNTPOINT[[:space:]]*=.*/MOUNTPOINT=\"$MOUNTPOINT\"/; \
        s/^[[:space:]]*TTY[:space:]]*=.*/TTY=\"$TTY\"/" \
        ${INITCONFFILE}




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру