Portál AbcLinuxu, 10. května 2025 05:35

Dotaz: Jak secist cisla z vystupu prikazu cut na vice radcich

Matyáš Dvořák avatar 29.5.2014 14:00 Matyáš Dvořák | skóre: 13
Jak secist cisla z vystupu prikazu cut na vice radcich
Přečteno: 447×
Odpovědět | Admin
Zdravim, mam textovy file s pevnou strukturou kam si pisu odpracovane hodiny a dostal jsem z toho vystup, ktery nevim jak secist v terminalu ve finalni soucet hodin...poradi nekdo co dat za pipe, aby se to secetlo v jednu cifru? :)
local:~ matyas$ grep -in '\-\-' -B1 aaa_hours_May_2014.php | grep -v '\-\-' | cut -f5
6
7
5
7
7
6
6
6
5
local:~ matyas$ 
savalo.dev

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (Matyáš Dvořák (tazatel))
29.5.2014 14:14 chrono
Rozbalit Rozbalit vše Re: Jak secist cisla z vystupu prikazu cut na vice radcich
Odpovědět | | Sbalit | Link | Blokovat | Admin
Napr. niečo ako... cut -f5 | paste -sd+ - | bc
Matyáš Dvořák avatar 29.5.2014 14:34 Matyáš Dvořák | skóre: 13
Rozbalit Rozbalit vše Re: Jak secist cisla z vystupu prikazu cut na vice radcich
Super, chvilku mi to psalo parse error a tak jsem se zbavil posledniho plusu pridanim grep -v '^$' co smaze prazdny radky z cutu:
$ grep -in '\-\-' -B1 aaa_hours_May_2014.php | grep -v '\-\-' | cut -f5 | paste -sd+ - | bc
(standard_in) 2: parse error

$ grep -in '\-\-' -B1 aaa_hours_May_2014.php | grep -v '\-\-' | cut -f5 | paste -sd+ -
6+7+5+7+7+6+6+6+5+

$ grep -in '\-\-' -B1 aaa_hours_May_2014.php | grep -v '\-\-' | cut -f5 | grep -v '^$' | paste -sd+ -
6+7+5+7+7+6+6+6+5

$ grep -in '\-\-' -B1 aaa_hours_May_2014.php | grep -v '\-\-' | cut -f5 | grep -v '^$' | paste -sd+ - | bc
55
Diiiiky!!!!!!!
29.5.2014 14:15 drunkezz | skóre: 34 | blog: kadeco
Rozbalit Rozbalit vše Re: Jak secist cisla z vystupu prikazu cut na vice radcich
Odpovědět | | Sbalit | Link | Blokovat | Admin

| awk '{i+=$1} END {print $i}'

D.

Matyáš Dvořák avatar 29.5.2014 14:38 Matyáš Dvořák | skóre: 13
Rozbalit Rozbalit vše Re: Jak secist cisla z vystupu prikazu cut na vice radcich
priklad s awk jsem taky vyzkousel, ale prazdny vystup, nicmene diky!
KrisKo avatar 29.5.2014 15:32 KrisKo | skóre: 20
Rozbalit Rozbalit vše Re: Jak secist cisla z vystupu prikazu cut na vice radcich
je tam drobny preklep..

| awk '{i+=$1} END {print i}'
https://krisko210.blogspot.com
29.5.2014 14:40 mhepp | skóre: 22
Rozbalit Rozbalit vše Re: Jak secist cisla z vystupu prikazu cut na vice radcich
Odpovědět | | Sbalit | Link | Blokovat | Admin
s=0; grep -in '\-\-' -B1 aaa_hours_May_2014.php | grep -v '\-\-' | cut -f5 | while read i; do s=$(($s+$i)); done; echo "$s";

případně:

(echo "s=0"; grep -in '\-\-' -B1 aaa_hours_May_2014.php | grep -v '\-\-' | cut -f5 | while read i; do echo "i=i+$i"; done; echo "i";) | bc -l

wamba avatar 29.5.2014 15:23 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: Jak secist cisla z vystupu prikazu cut na vice radcich
Odpovědět | | Sbalit | Link | Blokovat | Admin
... | cut -f5 | perl6 -e 'say [+] lines'
:)
This would have been so hard to fix when you don't know that there is in fact an easy fix.
Matyáš Dvořák avatar 26.6.2014 11:52 Matyáš Dvořák | skóre: 13
Rozbalit Rozbalit vše Re: Jak secist cisla z vystupu prikazu cut na vice radcich
-bash: perl6: command not found
Matyáš Dvořák avatar 26.6.2014 11:55 Matyáš Dvořák | skóre: 13
Rozbalit Rozbalit vše Re: Jak secist cisla z vystupu prikazu cut na vice radcich
grep '\-\-' -B1 ../aaa_hours_June_2014.php | grep -v '\-\-' | cut -f5  | perl -e 'say [+] lines'
Bareword found where operator expected at -e line 1, near "] lines"
	(Missing operator before lines?)
syntax error at -e line 1, near "say ["
Execution of -e aborted due to compilation errors.
29.5.2014 16:03 ET
Rozbalit Rozbalit vše Re: Jak secist cisla z vystupu prikazu cut na vice radcich
Odpovědět | | Sbalit | Link | Blokovat | Admin
... | tr '\n' '+' | sed 's/+$/\n/' | bc
Matyáš Dvořák avatar 26.6.2014 11:53 Matyáš Dvořák | skóre: 13
Rozbalit Rozbalit vše Re: Jak secist cisla z vystupu prikazu cut na vice radcich
(standard_in) 1: parse error
wamba avatar 29.5.2014 17:28 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: Jak secist cisla z vystupu prikazu cut na vice radcich
Odpovědět | | Sbalit | Link | Blokovat | Admin
k čemu je u toho prvního grepu to -in? jestli to dobře chápu, tak chcete sečíst čísla v 5 sloupci(podle tab) na řádcích předcházející řádku obsahující --

tak Perl-em "nehezky" např.
perl -aF'\t' -nE '$sum+=$pred if /--/; $pred=$F[4]; END{say $sum}' aaa_hours_May_2014.php
This would have been so hard to fix when you don't know that there is in fact an easy fix.
Matyáš Dvořák avatar 26.6.2014 12:01 Matyáš Dvořák | skóre: 13
Rozbalit Rozbalit vše Re: Jak secist cisla z vystupu prikazu cut na vice radcich
k čemu je u toho prvního grepu to -in?
pravda k nicemu, je to sila zvyku..
jestli to dobře chápu, tak chcete sečíst čísla v 5 sloupci(podle tab) na řádcích předcházející řádku obsahující --

tak Perl-em "nehezky" např.
perl -aF'\t' -nE '$sum+=$pred if /--/; $pred=$F[4]; END{say $sum}' aaa_hours_May_2014.php
Tohle reseni se mi libi ze je bez pipes a funguje dobre, jelikoz nedelam v perlu, tak preferuju tohle, opravuji bez -in u grepu ;)
grep '\-\-' -B1 ../aaa_hours_June_2014.php | grep -v '\-\-' | cut -f5 | grep -v '^$' | paste -sd+ - | bc

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.