The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"выборка"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"выборка"  
Сообщение от испытатель (??) on 28-Авг-06, 17:49 
подскажите пожалуйста я чайник в этом деле, задаю команду для выборки в вой скрипт на bash
sed -n '$p' //mirror_ext/oracle/BUD/sapbackup/backBUD.log

она выводит
bdtjaxyx afd  2006-08-27 00.00.51  2006-08-27 02.26.27  0         5.3286:1  ALL          offline_force   disk             a--k-c 6.10 (86)

мне нужно только - bdtjaxyx

Задаю
sed -n '$p' '/^.([a-z]{8})/p' //mirror_ext/oracle/BUD/sapbackup/backBUD.log

получаю
Can't open /^.([a-z]{8})/p

Подскажите что не так....

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

  • выборка, phpcoder, 07:31 , 29-Авг-06, (1)  
    • выборка, испытатель, 10:15 , 29-Авг-06, (2)  
      • выборка, испытатель, 10:21 , 29-Авг-06, (3)  
        • выборка, allez, 11:39 , 29-Авг-06, (4)  
          • выборка, phpcoder, 11:55 , 29-Авг-06, (5)  
            • выборка, regunkov, 12:03 , 29-Авг-06, (6)  
              • выборка, regunkov, 12:25 , 29-Авг-06, (7)  
                • выборка, испытатель, 12:54 , 29-Авг-06, (8)  

Сообщения по теме [Сортировка по времени, UBB]


1. "выборка"  
Сообщение от phpcoder email(??) on 29-Авг-06, 07:31 
а cut -f' ' -f1 не подойдет?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "выборка"  
Сообщение от испытатель (ok) on 29-Авг-06, 10:15 
>а cut -f' ' -f1 не подойдет?
Да тоже самое, я говорю о том как первое слово выбрать, дело в том что с постоянными переменными еще плохо знаю синтаксис...

пишу, а результат тот же Can't open [a-z]{8}

sed -n '$p' \[a-z]\{8\}


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "выборка"  
Сообщение от испытатель (ok) on 29-Авг-06, 10:21 
проще говоря мне нужно выбрать первые 8 символов


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "выборка"  
Сообщение от allez (ok) on 29-Авг-06, 11:39 
>проще говоря мне нужно выбрать первые 8 символов

Ну так не мучайтесь с sed'ом, используйте cut, как вам уже говорил phpcoder, или awk:
Правда в примере phpcoder'a имеется опечатка:
>cut -f' ' -f1
Надо бы писать так: cut -d' ' -f1 //mirror_ext/oracle/BUD/sapbackup/backBUD.log (таким
образом вы установите пробел в качестве разделителя полей и выберете первое поле).

Можете также использовать следующие конструкции:
$ cut -c 1-8 //mirror_ext/oracle/BUD/sapbackup/backBUD.log # Вырезаются первые 8 символов
$ awk '{print $1}' //mirror_ext/oracle/BUD/sapbackup/backBUD.log # Вырезается первое поле

P.S. Кстати, а "постоянные переменные" - это что? :-)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "выборка"  
Сообщение от phpcoder email(??) on 29-Авг-06, 11:55 
>Можете также использовать следующие конструкции:
>$ cut -c 1-8 //mirror_ext/oracle/BUD/sapbackup/backBUD.log # Вырезаются первые 8 символов

Эта инструкция даже будет получше моей, т.к. заточена на 8 символов. Просто автор не точно описал нужное задание.

Вообще, sed очень тяжелый инструмент. awk работает много быстрее, а cut для данной задачи самый быстрый вариант.


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "выборка"  
Сообщение от regunkov (ok) on 29-Авг-06, 12:03 
>>Можете также использовать следующие конструкции:
>>$ cut -c 1-8 //mirror_ext/oracle/BUD/sapbackup/backBUD.log # Вырезаются первые 8 символов
>
>Эта инструкция даже будет получше моей, т.к. заточена на 8 символов. Просто
>автор не точно описал нужное задание.
>
>Вообще, sed очень тяжелый инструмент. awk работает много быстрее, а cut для
>данной задачи самый быстрый вариант.

Может ты прав по скорости, я не знаю. Но если надо sed'ом, то я бы сделал так.

$echo -E "bdtjaxyx afd  2006-08-27 00.00.51  2006-08-27 02.26.27  0         5.3286:1  ALL          offline_force   disk             a--k-c 6.10 (86)" |
sed -n -e 's/^\([^ ]*\).*/\1/p'

bdtjaxyx

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "выборка"  
Сообщение от regunkov (ok) on 29-Авг-06, 12:25 
>>>Можете также использовать следующие конструкции:
>>>$ cut -c 1-8 //mirror_ext/oracle/BUD/sapbackup/backBUD.log # Вырезаются первые 8 символов
>>
>>Эта инструкция даже будет получше моей, т.к. заточена на 8 символов. Просто
>>автор не точно описал нужное задание.
>>
>>Вообще, sed очень тяжелый инструмент. awk работает много быстрее, а cut для
>>данной задачи самый быстрый вариант.
>
>Может ты прав по скорости, я не знаю. Но если надо sed'ом,
>то я бы сделал так.
>
>$echo -E "bdtjaxyx afd  2006-08-27 00.00.51  2006-08-27 02.26.27  0
>        5.3286:1  ALL
>         offline_force  
> disk          
>   a--k-c 6.10 (86)" |
>sed -n -e 's/^\([^ ]*\).*/\1/p'
>
>bdtjaxyx

Я и не заметил, что идет привязка именно к первым 8 символам. Тогда можно так.
echo -E "bdtjaxyx afd  2006-08-27 00.00.51  2006-08-27 02.26.27  0         5.3286:1  ALL          offline_force   disk             a--k-c 6.10 (86)" | sed -n -e 's/^\([[:alnum:]]\{8\}\).*/\1/p'

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

8. "выборка"  
Сообщение от испытатель (??) on 29-Авг-06, 12:54 
Спасибо всем откликнувшемся!!!! буду разбираться...


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру