имеется много файлов, находимых по паттерну, в которых нужно найти строки, содержащие подстроку А и расположенные между строками, содержащими подстроки B и С. ответ должен обязательно содержать file name + line number, копия строки тоже желательна. какой тул поможет мне это сделать с минимальным геморроем?
(no subject)
Date: 2003-06-11 11:22 am (UTC)find -name pattern |
xargs awk '/B/,/C/ { if ($0 ~ /A/) printf "%s(%d): %s\n",FILENAME,NR,$0; }'
(no subject)
Date: 2003-06-11 11:43 am (UTC)зы. а под sed слабо скрипт модифицировать? а то я sed уже поставил, а авк ещё нет :-)
(no subject)
Date: 2003-06-11 11:58 am (UTC)Гы-гы, каких только в природе не бывает find
Date: 2003-06-11 12:01 pm (UTC)Searches for a text string in a file or files.
FIND [/V] [/C] [/N] [/I] "string" [[drive:][path]filename[ ...]]
/V Displays all lines NOT containing the specified string.
/C Displays only the count of lines containing the string.
/N Displays line numbers with the displayed lines.
/I Ignores the case of characters when searching for the string.
"string" Specifies the text string to find.
[drive:][path]filename
Specifies a file or files to search.
If a path is not specified, FIND searches the text typed at the prompt
or piped from another command.
Re: Гы-гы, каких только в природе не бывает find
Date: 2003-06-11 12:06 pm (UTC)Re: Гы-гы, каких только в природе не бывает find
Date: 2003-06-11 12:44 pm (UTC)(no subject)
Date: 2003-06-11 12:37 pm (UTC)LENAME,NR,$0; }"
gawk: cmd. line:2: fatal: cannot open file `{' for reading (No such file or directory)
если внешние кавычки сделать одинарными, как ты написал, то он на них ругается, говорит, что illegal character.
(no subject)
Date: 2003-06-11 01:12 pm (UTC)(no subject)
Date: 2003-06-12 02:56 am (UTC)Что до кавычек, то да, cmd не понимает апострофов (уроды). Можно написать и просто кавычки, но тогда могут быть осложнения с кавычками внутри. Надеюсь, ты их там сам победишь :)
(no subject)
Date: 2003-06-12 05:58 am (UTC)кавычки я тоже победил (см. "с '< filename' всё работает")
спасибо anyway!