![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Использование grep для извлечения номера | mskarica | Shell программирование и сценарии | 8 | 06-26-2008 03:47 AM |
| Как grep / zgrep для вывода только соответствие файла и номер строки? | vvaidyan | UNIX для чайников Вопросы И Ответы | 3 | 03-12-2008 05:33 PM |
| grep строка с номером | salaathi | Shell программирование и сценарии | 4 | 12-04-2007 11:42 AM |
| Загрузите файл и номер строки, с помощью grep | ceemh3 | UNIX для чайников Вопросы И Ответы | 4 | 09-17-2007 11:35 AM |
| Есть ли поэтому, чтобы получить число строк в результате grep? | umen | UNIX для чайников Вопросы И Ответы | 1 | 03-16-2006 09:56 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Grep рядом со строкой в KSH
В file.name, у меня есть строка, что читает
$ IDIR / imgen-usemonths-dropcheck-монитор sizelimit-80000000-120-интервала volcal HSI Как я могу получить максимальный размер, то есть 80000000, и передать его в переменную размер? Спасибо. Я старался Эхо "grep sizelimit file.name" | SED -Н-е п / ^. sizelimit \ ([0-9] * \) интервала .* $ / \ 1 / P ' но это ничего выходных. |
|
||||
|
Так близко ... Код:
SIZE=`grep sizelimit myfile | sed 's/^.*sizelimit //' | awk '{print $1}'`
должно работать (NB. Она позволяет аргументы, чтобы быть в другом порядке, в файле). Существуют и другие варианты, которые связаны парсинга строки (как в AWK или корпуса), как: Код:
SIZE=0
grep sizelimit myfile | while read s
do
set -- $s
while [ $# -gt 0 ]
do
case $1 in
-sizelimit) SIZE=$2; break;;
*) shift;;
esac
done
done
|
|
||||
|
Цитата:
Первый вариант работает отлично. Вы имели в виду это работает, даже если "-sizelimit 80000000" переместится в другое место в строке тоже? |
|
||||
|
Цитата:
Что она действительно является отбивные все с самого начала линии вплоть до слова sizelimit и пространство после, а затем занимает первое слово из оставшейся (по стоимости sizelimit). |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|