The OpenNET Project / Index page

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

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

"выделить последнее поле в строке"
Сообщение от pablo emailИскать по авторуВ закладки(??) on 05-Ноя-04, 11:15  (MSK)
Подскажите есть строка вида:

qqqq aaaaa fdfff ghhh jjjj ccc ggg  

Количество полей произвольное.
Как можно получить последнее поле?

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

 Оглавление

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

1. "выделить последнее поле в строке"
Сообщение от Дениска Искать по авторуВ закладки(??) on 05-Ноя-04, 11:23  (MSK)
awk тебя спасет

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

2. "выделить последнее поле в строке"
Сообщение от pablo emailИскать по авторуВ закладки(??) on 05-Ноя-04, 11:36  (MSK)
>awk тебя спасет


Согласен. Я всегда использую конструкции типа awk '{print $??}' когда мне нужно получить какое-то поле (по порядку). Но в данном случае мне нужно получить последее и его номер меняеться... Т.е. нужно (например) сказать awk'у проходить не слева направо а справа налево. Тогда проблема решаеться. Просто выбираеться первое поле с конца... Однако я не могу найти (может плохо ищу ?) где это указать awk'у.

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

5. "выделить последнее поле в строке"
Сообщение от Дениска Искать по авторуВ закладки(??) on 05-Ноя-04, 11:47  (MSK)
так у awk есть всяческие вкусности, типа переменных
NF = кол-во полей, NR - фактически номер строки и проч...

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

6. "выделить последнее поле в строке"
Сообщение от pablo emailИскать по авторуВ закладки(??) on 05-Ноя-04, 11:58  (MSK)
>так у awk есть всяческие вкусности, типа переменных
>NF = кол-во полей, NR - фактически номер строки и проч...
Спасибо. Уже помогли :)

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

3. "выделить последнее поле в строке"
Сообщение от lavr emailИскать по авторуВ закладки on 05-Ноя-04, 11:42  (MSK)
>Подскажите есть строка вида:
>
>qqqq aaaaa fdfff ghhh jjjj ccc ggg
>
>Количество полей произвольное.
>Как можно получить последнее поле?

# echo "qqqq aaaaa fdfff ghhh jjjj ccc ggg" | awk '{ print $NF }'

устроит?

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

4. "выделить последнее поле в строке"
Сообщение от pablo emailИскать по авторуВ закладки(??) on 05-Ноя-04, 11:44  (MSK)
>>Подскажите есть строка вида:
>>
>>qqqq aaaaa fdfff ghhh jjjj ccc ggg
>>
>>Количество полей произвольное.
>>Как можно получить последнее поле?
>
># echo "qqqq aaaaa fdfff ghhh jjjj ccc ggg" | awk '{
>print $NF }'
>
>устроит?

То что нужно. Спасибо.

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

7. "выделить последнее поле в строке"
Сообщение от Дмитрий Ю. Карпов Искать по авторуВ закладки on 05-Ноя-04, 15:51  (MSK)
Что-то меня повело в сторону
echo qqqq aaaaa fdfff ghhh jjjj ccc ggg | sed -E -e 's/.* //'
(шаблон ".*" - "жадный"). Дальше - дорабатывать напильником.


Второй путь я сам что-то плохо представляю, но можно создать в Shell-скрипте процедуру (подпрограмму), которой мы передадим в качестве аргумента строку "qqqq aaaaa fdfff ghhh jjjj ccc ggg", зашитую в переменную. Там эта строка порежется по пробельчикам, а число арументов вычислится при этом автоматически.

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


Удалить

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




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

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