The UNIX and Linux Forums  

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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Perl скрипт для проверки задней линии gholdbhurg Shell программирование и сценарии 3 03-18-2008 12:33 PM
Справка: Справка WebObjects 5.4.1 iBot UNIX и Linux RSS Новости 0 03-11-2008 09:50 PM
Буфер обмена Модификатор 0.2.0 (по умолчанию филиала) iBot Релизов программ - RSS Новости 0 01-02-2008 05:00 PM
Вернуться ссылкой ошибке apoorvasharma80 Shell программирование и сценарии 4 08-22-2006 11:25 AM
Справка двухмерного массива в Perl к югу Фотон Shell программирование и сценарии 5 04-16-2003 05:52 AM

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 03-17-2008
cooldude cooldude is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2006
Сообщений: 44
Perl: Вернувшись из ссылки с модификатором

Моя ввода текста имеет следующие pattens:

Код:
  func_a(3,
         4,
         5);

Я хотел бы заменить его следующим образом:

Код:
   
  func_b(3,
         4,
         5,
         6);

Я пытаюсь следующие слова, но она не работает:

Код:
perl -p -e "s/func_a\((.*)?\);/func_b(\1,\n6)/s" < file |more

Любые идеи? Спасибо.
Old 03-17-2008
KevinADC KevinADC is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Январь 2008
Сообщений: 731
использовать $ 1 и $ 6 вместо \ 1 и \ 6, видеть, если это помогает. Используйте одиночные кавычки вокруг кода, если вы находитесь на окнах.
Old 03-18-2008
cooldude cooldude is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2006
Сообщений: 44
Спасибо, но это не работает. Кстати, я не с помощью \ 6, а \ N6.
Old 03-18-2008
rajut1984 rajut1984 is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2008
Сообщений: 3
Используйте $ 1, \ 1

Изменить команду как ниже ...
Perl -П-Е ", с / func_a \ ((.*)? \); / func_b \ ($ 1, \ N6 \); / S" <файл | подробнее
Old 03-18-2008
cooldude cooldude is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2006
Сообщений: 44
Да, я использовал $ 1, \ 1. Я думаю, Вы не почувствуете никакой разницы.
Когда я моделях, которые не имеют новых линий в них, такие, как:

Код:
  func_a(3);

Ведение

Код:
perl -p -e "s/func_a\((.*)?\);/func_b($1,\n6)/s" < file |more

работает, как ожидалось.
Old 03-18-2008
эпоха
Гость
  
 

Сообщений: N / A
Биты: 0 [Банковские]
Проблема заключается в том, что с Perl -P, вы только чтение и изучение линии одновременно. Таким образом, структура матча не применяются ни к чему, которые straddles линии границы, даже если у вас есть / с модификатором. Вы можете решить, что, прочитав все линии сразу, с Perl -0777 Или что-то эквивалентное.

См. также Perl Вопросы, которые подробно обсудить эту тему.
Old 03-18-2008
cooldude cooldude is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2006
Сообщений: 44
Perl следует дали мне ошибку / предупреждение, потому что с модификатором не применяется к-р.
Во всяком случае, вот то, что я попробовал, но на этот раз я ничего не получит выдавали:

Код:
perl -e -0777 "s/func_a\((.*)?\);/func_b(\1,\n6)/s" < file |more

и

Код:
perl -e "BEGIN {$/=undef} s/func_a\((.*)?\);/func_b(\1,\n6)/s"

Closed Thread

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 11:30 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