Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=6825756&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Tue Apr 12 12:50:44 2016
Кодировка: Windows-1251
[sed/awk/?]как выделить слово из строки, идущее после заданного слова? - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Development (Archive)

Страницы: 0 | 20 | показать все
mmCleric

Рег.: 19.09.2004
Сообщений: 459
Из: Здесь
Рейтинг: 263
  Re: [sed/awk/?]как выделить слово из строки, идущее после заданного сл [re: mk52]
      03.11.2007 17:00
 

В том, что одноразовые задачи надо решать простыми способами, а не писать программы по 10 строк.

Что если спорить про количество реализаций, стабильных версий перла существует штук где-то 12, начиная с 5.005 (хотя твой код вроде на любой будет работать).
А sed документирован в POSIX.

Что твоя программа не откроет файл с именем '0', угадай почему :)
(лучше уж было <> использовать... Что как раз и делает -n, кстати. Так что мое решение тоже заменяет и cat, и grep.)

Короче, KISS.

PS. Я не защищаю sed, и сам бы в данном случае перлом воспользовался, кстати. Как раз из-за необходимости помнить, что скобки надо экранировать.





-Ofun
Bachan
god's pee

Рег.: 26.10.2002
Сообщений: 37551
Рейтинг: 5335
  Re: [sed/awk/?]как выделить слово из строки, идущее после заданного сл [re: mmCleric]
      03.11.2007 17:30
 

тут обычно рулит то, чем чаще пользуешься. я такие седы раз по пять в день пишу, когда чо-нибудь ищу в коде. %)



я АЭС фачил в эсс!
mk52
member

Рег.: 11.05.2007
Сообщений: 116
Рейтинг: 65
  Re: [sed/awk/?]как выделить слово из строки, идущее после заданного сл [re: mmCleric]
      03.11.2007 17:42
 

Quote:

А sed документирован в POSIX.



он может быть и документирован, но какие-то различия между реализацией GNU и в BSD вроде есть

[quote]
Что твоя программа не откроет файл с именем '0', угадай почему
лучше уж было <> использовать
[quote]

скажет что нет такого файла и штатно завершится, и правильно сделает
0 это не имя а значение файлового дескриптора STDIN ; )
почему cat | filter.pl лучше filter.pl filename?

mmCleric

Рег.: 19.09.2004
Сообщений: 459
Из: Здесь
Рейтинг: 263
  Re: [sed/awk/?]как выделить слово из строки, идущее после заданного сл [re: mk52]
      03.11.2007 19:13
 

Quote:


он может быть и документирован, но какие-то различия между реализацией GNU и в BSD вроде есть




Думаю, они POSIX-совместимые.
Ну это не так важно, я уже говорил, что тоже предпочел бы перл в данной задаче.

Quote:


Quote:


Что твоя программа не откроет файл с именем '0', угадай почему
лучше уж было <> использовать





скажет что нет такого файла и штатно завершится, и правильно сделает
0 это не имя а значение файлового дескриптора STDIN ; )




Эээ. Ошибаешься.
code:
mmcleric@mmcleric-desktop:~/temp$ echo 'qewr' >0 mmcleric@mmcleric-desktop:~/temp$ ls -l 0 -rw-r--r-- 1 mmcleric mmcleric 5 2007-11-03 19:05 0 mmcleric@mmcleric-desktop:~/temp$ perl -e '$i = $ARGV[0]; print "File: $i\n"; open INP, $i or die "Cant open $i"; while (<INP>) {print}' 0 File: 0 qewr mmcleric@mmcleric-desktop:~/temp$ perl -e '$i = $ARGV[0]; print "File: $i\n"; open INP, $i || die "Cant open $i"; while (<INP>) {print}' 0 File: 0 Cant open 0 at -e line 1.


Чтобы указать файловый дескриптор по номеру, надо так писать:
Quote:

If you specify '<&=X', where "X" is a file descriptor number or a filehandle , then Perl will do an equivalent of C's "fdopen" of that file descriptor (and not call dup(2))




Quote:

почему cat | filter.pl лучше filter.pl filename?



Потому что filter.pl, написанный с использованием <>, будет работать и для cat | filter.pl, и для filter.pl filename, и для filter.pl file1 file2, и для filter.pl *.log.



-Ofun
mk52
member

Рег.: 11.05.2007
Сообщений: 116
Рейтинг: 65
  Re: [sed/awk/?]как выделить слово из строки, идущее после заданного сл [re: mmCleric]
      03.11.2007 19:43
 

Quote:

Quote:Что твоя программа не откроет файл с именем '0', угадай почемулучше уж было <> использоватьскажет что нет такого файла и штатно завершится, и правильно сделает0 это не имя а значение файлового дескриптора STDIN ; )Эээ. Ошибаешься.



понял о чем ты
да ну и хрен с ним что не откроется - других что-ли файлов мало : D

DizzyDen
достаточно добр

Рег.: 04.03.2003
Сообщений: 51427
Из: http://лакалхвост
Рейтинг: 13545
  Re: [sed/awk/?]как выделить слово из строки, идущее после заданного сл [re: Bachan]
      06.11.2007 13:13
 

Quote:

ну замени на [a-zA-Z0-9]



Quote:

For example, [[:alnum:]] means [0-9A-Za-z], except the latter form depends upon the POSIX locale and the ASCII character encoding, whereas the former is independent of locale and character set.


:umnik: :donot:



If stateless paradigm is good for your code, why shouldn't it be for your country?
Страницы: 0 | 20 | показать все

Technical >> Development (Archive)

Дополнительная информация
2 зарегистрированных и 2 анонимных пользователей просматривают этот форум.

Модераторы:  DarkGray 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в