Из конвейера на выходе получаем поток строк.
Нужно посчитать их количество, добавить этот результат последней строкой, и передать все это - далее по конвейеру.
Задача: обойтись без временных файлов.
> Из конвейера на выходе получаем поток строк.
> Нужно посчитать их количество, добавить этот результат последней строкой, и передать все
> это - далее по конвейеру.
> Задача: обойтись без временных файлов.что-то вроде
cat FILE | awk 'BEGIN{lines=0}{lines=lines+1; print $0}END{print lines}' | что-там-дальше
>> Из конвейера на выходе получаем поток строк.
>> Нужно посчитать их количество, добавить этот результат последней строкой, и передать все
>> это - далее по конвейеру.
>> Задача: обойтись без временных файлов.
> что-то вроде
> cat FILE | awk 'BEGIN{lines=0}{lines=lines+1; print $0}END{print lines}' |
> что-там-дальшезадачка простая вроде как божий день
>>> Задача: обойтись без временных файлов.
>> что-то вроде
>> cat FILE | awk 'BEGIN{lines=0}{lines=lines+1; print $0}END{print lines}' |
>> что-там-дальше
> задачка простая вроде как божий деньВот ещё вариант:
cat FILE | (cat; wc -l <FILE)
можно ещё корочe:
sed -n p\;$= FILEрешение через awk тоже можно значительно сократить:
awk '{print}END{print NR}' FILE
точняк, то что нужно
... | sed -n 'p; $=' | ...
или
... | awk '{print} END{print NR}' | ...мозг иногда клинит
спасибо
> спасибоcat filename | ruby -e "puts STDIN.read.split(/\n/).size"
> 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
> А я могу еще сложнее!- Василий Иваныч, а на джавве могёшь?
- Могу.
- А на схиме могёшь?
- Могу, Петька.
- Ну, а в дот-нет масштабе?!
- Не, Петька, не могу. Образования не хватает.Ж)