The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Найти и заменить NycUnxer UNIX для чайников Вопросы И Ответы 4 03-06-2008 12:20 AM
Найти замену dbsurf Shell программирование и сценарии 2 01-25-2008 08:39 AM
Найти и заменить mahabunta UNIX для чайников Вопросы И Ответы 7 09-21-2006 01:05 PM
Найти и заменить vikas_j @ Hotmail UNIX для чайников Вопросы И Ответы 3 02-25-2002 05:41 PM
Найти И Заменить gagansharma Shell программирование и сценарии 3 11-27-2001 04:17 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 05-27-2009
allrise123 allrise123 is offline
Зарегистрированный пользователь
  
 

Регистрация: Май 2009
Сообщений: 9
Найти и заменить проблема

привет ребята!!!

Я написал сценарий, в котором я принимать ввод от пользователя и найти ее в файл, и заменить его.
Мой вклад файл выглядит

Код:
hi
what your name?
allrise

Код выглядит мое это

Код:
echo "Enter the name"
read name
FILE="/opt/name.txt"
NEW_FILE="/opt/new_name.txt"
exec 0<$FILE
    while read line
    do
     if [ -n "`echo ${line} | grep 'allrise'`" ]
     then
              echo ${line} | sed 's|allrise|hello $name|g' >>$NEW_FILE
     else
             echo $line >>$NEW_FILE
     fi
     done <$FILE

Когда я запускаю моего сценария, то спросите меня на имя предположим я дал "Иван" ... но выход происходит, как показано ниже

Код:
hi
what your name?
hello $name

да, может ли кто-нибудь объяснить, каким образом я могу получить должного вывода, который должен быть.

Код:
hi
what your name?
hello john

Old 05-27-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell программист, автор
  
 

Регистрация: Mar 2007
Место проведения: Торонто, Канада
Сообщений: 2365
Цитата:
Первоначально Послано allrise123 View Post
привет ребята!!!

Я написал сценарий, в котором я принимать ввод от пользователя и найти ее в файл, и заменить его.
Мой вклад файл выглядит

Код:
hi
what your name?
allrise

Код выглядит мое это

Код:
echo "Enter the name"
read name
FILE="/opt/name.txt"
NEW_FILE="/opt/new_name.txt"
exec 0<$FILE
    while read line
    do
     if [ -n "`echo ${line} | grep 'allrise'`" ]
     then
              echo ${line} | sed 's|allrise|hello $name|g' >>$NEW_FILE

Переменные, не расширили внутри одиночных кавычек, использовать двойные кавычки:


Код:
echo ${line} | sed "s|allrise|hello $name|g" >>$NEW_FILE

Цитата:

Код:
     else
             echo $line >>$NEW_FILE
     fi
     done <$FILE

Когда я запускаю моего сценария, то спросите меня на имя предположим я дал "Иван" ... но выход происходит, как показано ниже

Код:
hi
what your name?
hello $name

да, может ли кто-нибудь объяснить, каким образом я могу получить должного вывода, который должен быть.

Код:
hi
what your name?
hello john

Кто бы вам не сделать:


Код:
sed "s/allrise/hello $name/" "$FILE" > "$NEWFILE"

Там нет необходимости с петлей.
Old 05-27-2009
allrise123 allrise123 is offline
Зарегистрированный пользователь
  
 

Регистрация: Май 2009
Сообщений: 9
Спасибо за ответ ..

На самом деле это не мое фактическое файл ... Это всего лишь манекен файл, который я создал только для того, чтобы спросить моего запроса ... любом случае я постараюсь ваши предложения ..
Old 06-06-2009
otheus's Avatar
otheus otheus is offline Forum Staff  
Модератор Ала режим
  
 

Регистрация: Февраль 2007
Место проведения: Инсбрук, Австрия
Сообщения: 1889
Дубликат Найти и заменить запроса

(носок кукольный)
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 06:45 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0