4 ms·
> cat data.csv | awk -F "|" '{ sum += $4 } END { printf "%.2f\n", sum }' "Don't pipe a cat". My test doesn't show a speed improvement, but there are less proc
by bch 13y ago
> cat data.csv | awk -F "|" '{ sum += $4 } END { printf "%.2f\n", sum }'
"Don't pipe a cat".
My test doesn't show a speed improvement, but there are less processes running, and less memory consumed.
bch:~ bch$ jot 999999999 2 99 > data.dat
bch:~ bch$ time cat data.dat | awk '{sum +=$1} END {printf "sum: %d\n", sum}'
sum: 50499999412
real 6m21.111s
user 6m15.506s
sys 0m5.711s
PID COMMAND %CPU TIME #TH #WQ #PORTS #MREGS RPRVT RSHRD RSIZE VPRVT VSIZE PGRP PPID STATE UID FAULTS COW MSGSENT MSGRECV
22342 awk 100.7 05:11.84 1/1 0 17 21 52K 212K 340K 17M 2378M 22341 22306 running 501 311 49 73 36
22341 cat 1.1 00:03.94 1/1 0 17 21 272K 212K 548K 17M 2378M 22341 22306 running 501 268 51 73 36
==============
bch:~ bch$ time awk '{sum +=$1} END {printf "sum: %d\n", sum}' ./data.dat
sum: 50499999412
real 6m24.023s
user 6m13.828s
sys 0m2.774s
PID COMMAND %CPU TIME #TH #WQ #PORTS #MREGS RPRVT RSHRD RSIZE VPRVT VSIZE PGRP PPID STATE UID FAULTS COW MSGSENT MSGRECV
22373 awk 100.0 00:30.16 1/1 0 17 21 276K 212K 624K 17M 2378M 22373 22306 running 501 256 46 73 36
- aidos 13y agoSometimes I like to start with cat so I can easily swap for zcat when changing to gripped input.
- nnnnni 13y agoHmm… Now we need a zawk.
- jbert 13y agoAgree. Or actually I start with a 'head -100' so I don't handle too much data in my pipeline until it's ready.
- tzs 13y agoI'm old fashioned, so use "sed 100q" instead of the newer "head -100". It saves a keystroke, too. There are enough variations in ways to do things on Unix that I've sometimes wondered about how easy it would be to identify a user by seeing how they accomplish a common task. For instance, I noticed at one place I worked that even though everyone used the same set of options when doing a "cpio -p", everyone had their own order they wrote them. Seeing one "cpio -p" command was sufficient to tell which of the half dozen of us had done the command. I think I'm the only one where I work who uses "sed Nq" instead of "head -N", so that would fingerprint me.
- smutticus 13y agoI sorta had this happen to me once. I have used "lsl" as an alias for long directory listings for longer than I can remember. And just out of habit it was almost always the first command I typed when logging into any box anywhere. So one day I telnetted into a Solaris machine and immediately typed "lsl" before doing anything else. A short while later a colleague came to my cube. He had been snooping the hme1 interface and saw me login. He didn't need to trace the IP because he knew it was me when he saw 3 telnet packets with "l" "s" "l" in them.
- lotsofcows 13y agoStoll's "The Cuckoo's Egg" contains a bit of detective work based around the hacker's switch style.