On Mon, Mar 04, 2013 at 12:32:32PM +0100, Paolo Aglialoro wrote: | Great one! | How to put that nice expression into an alias without console complaining | when executed? | | | # ls -l | awk '{ SUM += $5 } END { print SUM }' | 569047 | | # alias tot="ls -l | awk '{ SUM += $5 } END { print SUM }'" | # tot | awk: syntax error at source line 1 | context is | { SUM += >>> } <<< | awk: illegal statement at source line 1
Escape the "$" in the awk expression: [weerd@despair] $ alias tot="ls -l | awk '{SUM+=\$5} END {print SUM}'" [weerd@despair] $ tot 207777 I still wonder why people want to know this (seemingly useless) value. What does it even mean ? [weerd@despair] $ mkdir /tmp/test [weerd@despair] $ cd /tmp/test [weerd@despair] $ dd if=/dev/zero of=a bs=1024 seek=2048 count=1 1+0 records in 1+0 records out 1024 bytes transferred in 0.000 secs (34133333 bytes/sec) [weerd@despair] $ ln a b [weerd@despair] $ ls -l total 128 -rw-r--r-- 2 weerd wheel 2098176 Mar 4 12:49 a -rw-r--r-- 2 weerd wheel 2098176 Mar 4 12:49 b [weerd@despair] $ tot 4196352 [weerd@despair] $ du -csh a b 32.0K a 32.0K total (note the lie ls(1) spreads here) | Btw, for higher readability, it would also be great to put periods in the | resulting output like: 1.264.691 Well, that should be easy enough to add yourself :) Left as an exercise to the reader... Cheers, Paul 'WEiRD' de Weerd | Thanks :) | | | On Sun, Mar 3, 2013 at 11:16 PM, Ted Unangst <t...@tedunangst.com> wrote: | | > On Sun, Mar 03, 2013 at 22:02, Paul de Weerd wrote: | > > [weerd@despair] $ ls -l /tmp/test/* | awk '{SUM+=$5} END {print SUM}' | > | > heh. :) | > | > ~/bin> cat filesizes | > #!/bin/sh | > ls -l $@ | awk '{sum += $5} END { print sum }' | -- >++++++++[<++++++++++>-]<+++++++.>+++[<------>-]<.>+++[<+ +++++++++++>-]<.>++[<------------>-]<+.--------------.[-] http://www.weirdnet.nl/