The OpenNET Project / Index page

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

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

"скрипт"  
Сообщение от sweer email(ok) on 27-Окт-07, 18:25 
Имеется стандартный ввод:

vasya
pupkin
123

Нужно вылавливать число 123, а в вывод отправлять только имя Вася(что на 2 строчки выше).

Как это можно сделать на лету шеллом?

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

 Оглавление

  • скрипт, L0n3R4ng3r, 22:06 , 27-Окт-07, (1)  
  • скрипт, phpcoder, 14:27 , 29-Окт-07, (2)  
  • скрипт, cat, 17:57 , 29-Окт-07, (3)  

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


1. "скрипт"  
Сообщение от L0n3R4ng3r (ok) on 27-Окт-07, 22:06 
>Имеется стандартный ввод:
>
>vasya
>pupkin
>123
>
>Нужно вылавливать число 123, а в вывод отправлять только имя Вася(что на
>2 строчки выше).
>
>Как это можно сделать на лету шеллом?

#!/bin/bash
counter=1
flag=0
while [ "t" == "t" ] ;do
echo -n "Enter something:    "
read z
if [ $flag -eq 1 ]; then
    flag=0
fi
if [ "$z" == "123" ]; then
    echo $first
    flag=1
fi
if [ $flag -ne 1 ];then
cond=$(echo "$counter % 2" | bc)
case "$cond" in
1)    first=$z;;
0)    second=$z;;
esac
let counter=counter+1
fi

done

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

2. "скрипт"  
Сообщение от phpcoder email(??) on 29-Окт-07, 14:27 
[...]
>Как это можно сделать на лету шеллом?

Много как, вариантов -- масса.

Вот, так, например, можно:

[c0der@rock ~]$ echo "vasya\npupkin\n123\nslava\nsemushin\n321\nivan\nivanov\n123"                      vasya
pupkin
123
slava
semushin
321
ivan
ivanov
123
[c0der@rock ~]$ echo "vasya\npupkin\n123\nslava\nsemushin\n321\nivan\nivanov\n123" | paste - - - | awk '{if($3=="123"){print $1}}'
vasya
ivan
[c0der@rock ~]$


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

3. "скрипт"  
Сообщение от cat (??) on 29-Окт-07, 17:57 
$ cat test
vasya
pupkin
123
$cat test | grep -B3 123 | head -1
vasya
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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