11-06-2012
Quote:
Originally Posted by
royalibrahim
I Just want to understand whether in Perl, is it possible to iterate over a file object using a for loop as I did in my code? Perl complains no error even if you use it.
Of course, yes. You did it, right?
Why would perl complain when what you were doing was syntactically correct but logically wrong?
Never use a for (or foreach) loop to read a file. In this case, all lines from the file (depending on the input record separator) will be read in at once and stored in memory to form a list. Your loop will then iterate over the elements of this list. So, you might hit your system's memory limits.
A while loop is much much better as it reads one record at a time.
This User Gave Thanks to elixir_sinari For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi All,
I would like my code to be able to print out the whole line if 1st field has a dot in the number. Sample input and expected output given below.
My AWK code is below but it can;t work, can any expert help me ?
Thanks in advance.
{if ($1 ~ /*\.*/) { print $0 }}
Input:
... (2 Replies)
Discussion started by: Raynon
2 Replies
2. Shell Programming and Scripting
Howdy.
I know this is most likely possible using sed or awk or grep, most likely a combination of them together, but how would one go about running a grep like command on a file where you only try to match your pattern to the second field in a line, space delimited?
Example:
You are... (3 Replies)
Discussion started by: LordJezoX
3 Replies
3. Shell Programming and Scripting
hi
i have file as below , i want to add duplicate records like bell_bb to one record with valuve as 15 ( addition of both )
any oneline awk script to achive this ?
header 0
CAMPAIGN_NAME 1
Bell_BB 14
Bell_MONTHLY 803
SOLO_UNBEATABLE 644
Bell_BB 1
Bell_MONTHLY 25
SOLO_UNBEATABLE... (4 Replies)
Discussion started by: raghavendra.cse
4 Replies
4. Shell Programming and Scripting
Hi all,
I got several lines line this
a b c d e 1 e
a 1 c d e 3 f
a b c 1 e 8 h
a b c d e 1 w
a 1 c d e 2 w
a b c d e 1 t
a b c d e 7 4
How can I print the line if 1 is the field one before the last field?
Basicly this 2 field ?
a b c d e 1 e
a b c d e 1 t
The file I got is... (7 Replies)
Discussion started by: stinkefisch
7 Replies
5. Shell Programming and Scripting
Trying to sum field #6 when field #2 matches string as follows:
Input data:
2010-09-18-20.24.44.206117 UOWEXEC db2bp DB2XYZ hostname 1
2010-09-18-20.24.44.206117 UOWWAIT db2bp DB2XYZ hostname ... (3 Replies)
Discussion started by: ux4me
3 Replies
6. Shell Programming and Scripting
First, thanks for the help in previous posts... couldn't have gotten where I am now without it!
So here is what I have, I use AWK to match $1 and $2 as 1 string in file1 to $1 and $2 as 1 string in file2. Now I'm wondering if I can extend this AWK command to incorporate the following:
If $1... (4 Replies)
Discussion started by: right_coaster
4 Replies
7. Shell Programming and Scripting
Version: AIX 6.1 (korn shell)
In the below output, the field with the heading 'Address' has some names like
hwproc214-priv1.gnas.wrd.netwhich are only partially displayed.
$ netstat -i
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
en2 1500 link#2 ... (3 Replies)
Discussion started by: polavan
3 Replies
8. UNIX for Dummies Questions & Answers
Hi !
I have a tab-delimited file, file.tab:
Column1 Column2 Column3
aaaaaaaaaa bbtomatoesbbbbbb cccccccccc
ddddddddd eeeeappleseeeeeeeee ffffffffffffff
ggggggggg hhhhhhtomatoeshhh iiiiiiiiiiiiiiii
... (18 Replies)
Discussion started by: lucasvs
18 Replies
9. UNIX for Dummies Questions & Answers
Within AWK, how do you display a field of NR? Here's my code:
awk '(NR>1) && (P1=$1-w)>=100000 {print "increase of" " " P1*.0000179," " "kW at" " " 'NR*60/431900' " " "minutes" "\n" "change from" " " 'NR-10($1)' " " "kW to" " " 'NR+70($1)' "\n"}{w=$1}' filename
I can change NR and print... (3 Replies)
Discussion started by: markymarkg123
3 Replies
10. Shell Programming and Scripting
Hi,
Need to replace last field in a file(/etc/passwd) ,if first filed matches with particular username.
Scenario:
cat testfor1
deekshi:x:7082:7082::/home/deekshi:/bin/bash
harini1:x:7083:7083::/home/harini1:/bin/bash
Here,if first field contains "deekshi", then i should replace... (4 Replies)
Discussion started by: Sumanthsv
4 Replies
LEARN ABOUT DEBIAN
plucene::search::termquery
Plucene::Search::TermQuery(3pm) User Contributed Perl Documentation Plucene::Search::TermQuery(3pm)
NAME
Plucene::Search::TermQuery - a query that contains a term
SYNOPSIS
# isa Plucene::Search::Query
$term_query->normalize($norm);
my $ssw = $term_query->sum_squared_weights($searcher);
my $as_string = $term_query->as_string($field);
DESCRIPTION
A query that matches a document containing a term.
Term query are the simplest possible Plucene queries and are used to match a single word. Term queries are represented by instances of the
TermQuery class and contain the desired term (word) and a field name, both are case sensitive.
The field specified in a Term query must be a document field that was specified as 'indexible' during the indexing process. If the field
was specified during indexing as 'tokenized' than the term will be matched against each of tokens (words) found in that field, otherwise,
it will be matched against the entire content of that field.
A term query may have an optional boost factor (default = 1.0) that allows to increase or decrease the ranking of documents it matches.
METHODS
term / idf / weight
Get / set these attributes
sum_squared_weights
my $ssw = $term_query->sum_squared_weights($searcher);
This will return the sum squared weights for the passed in searcher.
normalize
$term_query->normalize($norm);
to_string
my $as_string = $term_query->as_string($field);
perl v5.12.4 2011-08-14 Plucene::Search::TermQuery(3pm)