The OpenNET Project / Index page

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

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

"редактирование текста"
Сообщение от Naiv Искать по авторуВ закладки(ok) on 27-Май-04, 16:49  (MSK)
Подскажите, пожалуйста, как в shell при помощи стандартных утилит grep, tr, sed
1) из строки вернуть символы, начиная с n-го символа по k-й;
2) частный случай - первые n символов;
3) вернуть символы начиная с первого найденного символа NNh и заканчивая первым найденным символом KKh.

и еще: правильно я понимаю, что утилитой sed можно выполнить все те же функции, что и утилитами grep, tr ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "редактирование текста"
Сообщение от vnp emailИскать по авторуВ закладки on 27-Май-04, 22:08  (MSK)
>Подскажите, пожалуйста, как в shell при помощи стандартных утилит grep, tr, sed
>
>1) из строки вернуть символы, начиная с n-го символа по k-й;

sed -e "s/\(.\{$k\}\).*/\1/" -e "s/.\{$n\}\(.*\)/\1/"

>2) частный случай - первые n символов;

sed -e "s/\(.\{$n\}\).*/\1/"

>3) вернуть символы начиная с первого найденного символа NNh и заканчивая
>первым найденным символом KKh.

sed -e "s/[^"$'\xNN'"]*\("$'\xNN'"[^"$'xKK'"]*"$'xKK'"\).*/\1/"

>и еще: правильно я понимаю, что утилитой sed можно выполнить все те
>же функции, что и утилитами grep, tr ?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "редактирование текста"
Сообщение от WaprOld emailИскать по авторуВ закладки(ok) on 28-Май-04, 02:00  (MSK)
>>Подскажите, пожалуйста, как в shell при помощи стандартных утилит grep, tr, sed
>>1) из строки вернуть символы, начиная с n-го символа по k-й;
А если не пользоваться sed-ом? ;-)

1. например в bash-е
n=3
Line="Строка"
rock=${Line:2:$n}

>>2) частный случай - первые n символов;
2. там-же
Line="Строка"
Lin=${Line:0:$n}

3. сразу не соображу, но подозреваю что тоже можно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "редактирование текста"
Сообщение от Naiv Искать по авторуВ закладки(ok) on 28-Май-04, 19:01  (MSK)
>>Подскажите, пожалуйста, как в shell при помощи стандартных утилит grep, tr, sed
>>
>>1) из строки вернуть символы, начиная с n-го символа по k-й;
>
>sed -e "s/\(.\{$k\}\).*/\1/" -e "s/.\{$n\}\(.*\)/\1/"
>
>>2) частный случай - первые n символов;
>
>sed -e "s/\(.\{$n\}\).*/\1/"
>
>>3) вернуть символы начиная с первого найденного символа NNh и заканчивая
>>первым найденным символом KKh.
>
>sed -e "s/[^"$'\xNN'"]*\("$'\xNN'"[^"$'xKK'"]*"$'xKK'"\).*/\1/"
>
>>и еще: правильно я понимаю, что утилитой sed можно выполнить все те
>>же функции, что и утилитами grep, tr ?

спасибо большое! работает.
есть еще несколько вопросов:

1) как с помощью sed узнать количество строк в файле?
2) как с помощью sed вернуть порядковый номер строки, в которой впервые встречается образец 'text'?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "редактирование текста"
Сообщение от Naiv Искать по авторуВ закладки(ok) on 01-Июн-04, 16:32  (MSK)
1) как с помощью sed узнать количество
строк в файле?
2) как с помощью sed вернуть порядковый
номер строки, в которой впервые
встречается образец 'text'?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "редактирование текста"
Сообщение от vnp emailИскать по авторуВ закладки on 01-Июн-04, 22:21  (MSK)
>1) как с помощью sed узнать количество
>строк в файле?

sed -n -e '$='

>2) как с помощью sed вернуть порядковый
>номер строки, в которой впервые
>встречается образец 'text'?

sed -n -e '/text/=' -e '/text/q'

А вообще-то, rtfm.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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