Sponsored Content
Full Discussion: help.. Problems in using awk
Top Forums Shell Programming and Scripting help.. Problems in using awk Post 302172465 by dakid on Monday 3rd of March 2008 10:04:24 PM
Old 03-03-2008
thanks for this

Quote:
cat templist | awk -v RS=" " '{sum=sum+$1;printf("sum: %.0f\n",sum)}' > total
this outputs:
Quote:
$ cat total
sum: 450000
sum: 852300
sum: 892300
sum: 912300
sum: 932300
sum: 952300
sum: 972300
is it possible to output only the final result in the file "sum: 972300"
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Problems with AWK

Hi I'm a newbie to Unix scripting and was having some problems with AWK. I have written this little script that should read a process list and then print out the PID's of the offending processes. Unfortunately it doesn't seem to work! The script is as follows: ps -ef | awk '{if... (10 Replies)
Discussion started by: trainee
10 Replies

2. Shell Programming and Scripting

awk problems

If i try the -f option for awk, i get the "awk: can't open " error message The following awk statement works fine without the -f option `awk <$RULES '/^IGNORE_POLICY / { print $2 }'` Below how i turned on debugging to show what is happening, can someone provide me with some advice!!!! ... (1 Reply)
Discussion started by: Junes
1 Replies

3. UNIX for Advanced & Expert Users

awk problems

awk ' FILENAME=="First"{ arr = 1; x=sub ; } FILENAME=="Second"{ if (/^10/ &&... (5 Replies)
Discussion started by: Ehab
5 Replies

4. UNIX for Dummies Questions & Answers

problems with awk

Using Linux, I am trying to create a list of all the lines that have "Non-white" or "No" in column 3 of a file: ethnicity.txt. I have used the following command : awk '$3 == "No" || $3 == "Non-white" {print $1, $2, $3}' ethnicity.txt This only returns the lines with "No" and none of... (3 Replies)
Discussion started by: polly_falconer
3 Replies

5. Shell Programming and Scripting

Execution problems using awk command.

Hi All, I have the following requirement. In a directory i get files from external source. I at regular intervals check that directory for any incoming files. The file name is underscore delimited. Such as: aaa_bbb_ccc_ddd_eee_fff.dat I am using awk and and splitting the file name. ... (4 Replies)
Discussion started by: satishpv_2002
4 Replies

6. UNIX for Dummies Questions & Answers

Problems with AWK

Hi I am writing a shell script for a number of things and aone problem that keeps comming up is AWK formatting. When commands are typed into the command line they are fine, but when executed in the script the results are pilled up and not in a list/table format. I have tried using ... (2 Replies)
Discussion started by: AngelFlesh
2 Replies

7. Shell Programming and Scripting

simple problems in awk

Dear All, I have the following awk script. #!/bin/bash sh stdev.cmd data.file | awk '{print $2}' > out.data read d < out.data echo $d awk '{print $1,$2- $f}' new > newz The script runs "stdev.cmd" and output a file "out.data" and the value of the... (2 Replies)
Discussion started by: Yacob_123
2 Replies

8. Shell Programming and Scripting

awk problems - awk ignores conditions

awk 'BEGIN{ if('"$CATE"'<'"${WARN}"') printf ("%s", "'"`Kfunc "" ; break`"'") else if (('"${CATE}"'>='"${WARN}"') && ('"${CATE}"'<'"${CRIT}"')) printf ("%s", "'"`Wfunc ""; break`"'") else if ('"${CATE}"'>='"${CRIT}"') printf... (6 Replies)
Discussion started by: SkySmart
6 Replies

9. Shell Programming and Scripting

Having Problems with AWK

So, I'm having a lot of crazy problems with Awk that I cannot understand. This one in particular is driving me nuts. Here is one section of my Awk script: print $0 sub(/Jan/,"",$2) sub(/Feb/,"",$2) sub(/Mar/,"",$2) sub(/Apr/,"",$2) sub("May","",$2) ... (5 Replies)
Discussion started by: rrdein
5 Replies

10. Shell Programming and Scripting

Execution Problems with awk

Ubuntu, Bash 4.3.48 Hi, I have this input file: a1:b2:c30:g4:h12:j7 and I want this output file: a1=g4:b2=h12:c30=j7 I can do it this with this code: awk -F':' '{print $1"="$4":"$2"="$5":"$3"="$6"}' INPUT > OUTPUTIn this case I have 6 columns, I calculate manually the half number of... (6 Replies)
Discussion started by: echo manolis
6 Replies
Regexp::List(3pm)					User Contributed Perl Documentation					 Regexp::List(3pm)

NAME
Regexp::List - builds regular expressions out of a list of words SYNOPSIS
use Regexp::List; my $l = Regexp::List->new; my $re = $l->list2re(qw/foobar fooxar foozap fooza/); # $re is now qr/foo(?:[bx]ar|zap?)/ ABSTRACT
This module offers "list2re" method that turns a list of words into an optimized regular expression which matches all words therein. The optimized regular expression is much more efficient than a simple-minded '|'-concatenation thereof. DESCRIPTION
This module use Object-Oriented approach so you can use this module as a base and tweak its features. This module is a base class of Regexp::Optimizer. EXPORT Since this is an OO module there is no symbol exported. METHODS
This module offers methods below; $l = Regexp::List->new(key=>value, ...) Constructor. When arguments are fed in key => value, manner, it sets attributes. See "$l->set" for details $re = $l->list2re(list of words ...) Does the job. Takes a list of words and turn it into an optimal regular expresson. See "IMPLEMENTATION" to find out how it is achieved. If you want to know the underlying black magic even further, see the source. $l->set(key => value, ...) Sets attributes. There are many attributes supported but let me mention just a few that you may be interested. lookahead Whether you prepend a lookahead assertion or not. Default value is 1. This module is smart enough to omit the assertion when you don't need one. $re = $l->list2re(qw/1 2 3 infinity/); # qr/(?=[123i])(?:[123]|infinity)/ $re = $l->set(lookahead=>0)->list2re(qw/1 2 3 infinity/); # qr/(?:[123]|infinity)/ quotemeta Whether you quote metacharacters or not. Default is 1. If you really need this feature try Regexp::Optimizer instead. @list = qw/3 3.14 3.14159265358979/; $re = $l->list2re(@list); # qr/3(?:.14(?:159265358979)?)?)/ $re = $l->set(lookahead=>0)->list2re(@list); # qr/3(?:.14(?:159265358979)?)?)/ # which does match 3.14 but also "11+3=14" modifies Currently it accepts 'i', 'm', 's', and 'x', the same as regular expression modifiers. @list = qw/Perl perl BASIC basic/; $re = $l->list2re(@list); # qr/(?=[BPbp])(?:[Pp]erl|BASIC|basic)/ $re = $l->set(modifiers => 'i')->list2re(@list); # qr/(?=[bp])(?:perl|basic)/i print $l->set(modifiers => 'x')->list2re(@list); # Try for yourself; Isn't itcute ? $l->expand($re); Utility methods to expand a regular expression. Handy when you want to check the complex regexes. $l->unexpand($re); Utility methods to unexpand a regular expression. IMPLEMENTATION
This module optimizes the regular expression as follows. Let's see what happens when qw/foobar fooxar foozap fooza/ is fed trie building (common prefix aggregation) first the corresponding trie structure is built +- bar foo -+- xar +- za -+- p +- '' common suffix aggregation it checks if any leaf node can be optimized for common suffix. In this case we can do so to "bar" and "xar". +- b -+-ar foo -+- x -+ +- za -+- p +- '' character class conversion If a branch contains more than two single characters, it turns it into a character class. foo -+- [bx] --- ar +- za -+-p +- '' empty leaf to "?" Empty leaf is converted to a '?' quantifier foo -+- [bx] --- ar +- za -+-p? join all leafs into a group And the final result is reached. foo(?:[bx]ar|zap?) BENCHMARKS
This module is faily robust. You can practically use this module to find a regular expression that matches all words in a dictionary. Here is a result by on perl 5.8.0, FreeBSD 4-Stable, Pentium III 800 Mhz with 512 MB RAM. # Sat May 31 09:11:06 2003 ( 0.000000 s) Reading /usr/share/dict/words # Sat May 31 09:11:07 2003 ( 0.847797 s) 235881 lines read. # Sat May 31 09:11:07 2003 ( 0.000000 s) Making regexp. # Sat May 31 09:13:09 2003 ( 121.596928 s) Done. # Sat May 31 09:13:09 2003 ( 0.000000 s) Saving to t/words.rx # Sat May 31 09:13:09 2003 ( 0.000000 s) Reading t/words.rx # Sat May 31 09:13:13 2003 ( 3.679176 s) Done. # Sat May 31 09:13:13 2003 ( 0.000000 s) Opening /usr/share/dict/words for comparison. # Sat May 31 09:13:13 2003 ( 0.255222 s) /usr/share/dict/words:235881 lines found. # Sat May 31 09:13:13 2003 ( 0.000000 s) Showtime! # 235881/235881 # Sat May 31 10:44:17 2003 ( 5464.370409 s) Done. # Sat May 31 10:44:17 2003 ( 5464.370624 s) 43.167 matches/s The result of optimization is obvious as the number of alteration increases. Here is a result of a benchmark which matches randomly picked words against "/usr/share/dict/words". ==== 2 words Rate naive optim naive 1.79/s -- -28% optim 2.49/s 39% -- ==== 256 words s/iter naive optim naive 31.7 -- -81% optim 5.95 433% -- SEE ALSO
Regexp::Optimizer -- uses this module as its base "eg/" directory in this package contains example scripts. Perl standard documents perltodo, perlre CPAN Modules Regexp::Presuf, Text::Trie Books Mastering Regular Expressions <http://www.oreilly.com/catalog/regex2/> AUTHOR
Dan Kogai <dankogai@dan.co.jp> COPYRIGHT AND LICENSE
Copyright 2003 by Dan Kogai, All Rights Reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2011-11-16 Regexp::List(3pm)
All times are GMT -4. The time now is 03:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy