URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9084
[ Назад ]

Исходное сообщение
"Посчитать кол-во строк ... на лету"

Отправлено seeryoga , 31-Мрт-11 21:16 
Из конвейера на выходе получаем поток строк.
Нужно посчитать их количество, добавить этот результат последней строкой, и передать все это - далее по конвейеру.
Задача: обойтись без временных файлов.

Содержание

Сообщения в этом обсуждении
"Посчитать кол-во строк ... на лету"
Отправлено cryo , 31-Мрт-11 21:25 
> Из конвейера на выходе получаем поток строк.
> Нужно посчитать их количество, добавить этот результат последней строкой, и передать все
> это - далее по конвейеру.
> Задача: обойтись без временных файлов.

что-то вроде

cat FILE | awk 'BEGIN{lines=0}{lines=lines+1; print $0}END{print lines}' | что-там-дальше


"Посчитать кол-во строк ... на лету"
Отправлено katoknk , 31-Мрт-11 22:33 
>> Из конвейера на выходе получаем поток строк.
>> Нужно посчитать их количество, добавить этот результат последней строкой, и передать все
>> это - далее по конвейеру.
>> Задача: обойтись без временных файлов.
> что-то вроде
> cat FILE | awk 'BEGIN{lines=0}{lines=lines+1; print $0}END{print lines}' |
> что-там-дальше

задачка простая вроде как божий день


"Посчитать кол-во строк ... на лету"
Отправлено phpcoder , 31-Мрт-11 23:03 
>>> Задача: обойтись без временных файлов.
>> что-то вроде
>> cat FILE | awk 'BEGIN{lines=0}{lines=lines+1; print $0}END{print lines}' |
>> что-там-дальше
> задачка простая вроде как божий день

Вот ещё вариант:

cat FILE | (cat; wc -l <FILE)


"Посчитать кол-во строк ... на лету"
Отправлено temny , 31-Мрт-11 23:31 
можно ещё корочe:
sed -n p\;$= FILE

решение через awk тоже можно значительно сократить:
awk '{print}END{print NR}' FILE


"Посчитать кол-во строк ... на лету"
Отправлено seeryoga , 31-Мрт-11 23:54 
точняк, то что нужно
... | sed -n 'p; $=' | ...
или
... | awk '{print} END{print NR}' | ...

мозг иногда клинит


"Посчитать кол-во строк ... на лету"
Отправлено seeryoga , 31-Мрт-11 23:45 
спасибо

"Посчитать кол-во строк ... на лету"
Отправлено Babusha , 01-Апр-11 01:25 
> спасибо

cat filename |  ruby -e "puts STDIN.read.split(/\n/).size"


"Посчитать кол-во строк ... на лету"
Отправлено DeadLoco , 02-Апр-11 09:09 
> cat filename |  ruby -e "puts STDIN.read.split(/\n/).size"

А я могу еще сложнее!

  # line_number_appender.aout FILE

Чтобы было понятнее:

   /usr/bin > ls -l sed awk
   -r-xr-xr-x  2 root  wheel  123588 Mar 24  2010 awk
   -r-xr-xr-x  1 root  wheel   31568 Mar 24  2010 sed


"Посчитать кол-во строк ... на лету"
Отправлено Andrey Mitrofanov , 04-Апр-11 09:58 
> А я могу еще сложнее!

- Василий Иваныч, а на джавве могёшь?
- Могу.
- А на схиме могёшь?
- Могу, Петька.
- Ну, а в дот-нет масштабе?!
- Не, Петька, не могу. Образования не хватает.

Ж)