06-01-2009
awk getline
How do you make the getline function return to the original line?
The example below should make it clear where I am currently going wrong.
Thanks
AWK SCRIPT:
-------------
awk -F '-' '{
tmpLine = "EMPTY"
print "CURRENT LINE :"$0
getline tmpLine
print "NEXT LINE :"tmpLine
}' testawk.txt
testawk.txt
--------------
1-TEST-FILE-NEW
2-TEST-FILE-NEW
3-TEST-FILE-NEW
4-TEST-FILE-NEW
5-TEST-FILE-NEW
6-TEST-FILE-NEW
7-TEST-FILE-NEW
output:
-------
CURRENT LINE :1-TEST-FILE-NEW
NEXT LINE :2-TEST-FILE-NEW
CURRENT LINE :3-TEST-FILE-NEW
NEXT LINE :4-TEST-FILE-NEW
CURRENT LINE :5-TEST-FILE-NEW
NEXT LINE :6-TEST-FILE-NEW
CURRENT LINE :7-TEST-FILE-NEW
NEXT LINE : EMPTY
desired output
--------------
CURRENT LINE :1-TEST-FILE-NEW
NEXT LINE :2-TEST-FILE-NEW
CURRENT LINE :2-TEST-FILE-NEW
NEXT LINE :3-TEST-FILE-NEW
CURRENT LINE :3-TEST-FILE-NEW
NEXT LINE :4-TEST-FILE-NEW
CURRENT LINE :4-TEST-FILE-NEW
NEXT LINE :5-TEST-FILE-NEW
CURRENT LINE :5-TEST-FILE-NEW
NEXT LINE :6-TEST-FILE-NEW
CURRENT LINE :6-TEST-FILE-NEW
NEXT LINE :7-TEST-FILE-NEW
CURRENT LINE :7-TEST-FILE-NEW
NEXT LINE : EMPTY
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
$ echo |awk ' BEGIN {"date" | getline current_time;close("date");print "Report printed on " current_time}'
Report printed on Thu May 11 14:57:29 METDST 2006
This example works fine but how can i print all the output when is longer... (3 Replies)
Discussion started by: Klashxx
3 Replies
2. Shell Programming and Scripting
hello collegues,
I am attempting to use awk to search file1 (serverlist.csv) from each row with file2 (supported.txt). If the is no entry exists in serverlist then output to a file called notsupp.out if there is an entry output to supp.out
I can do this with basic shell scripting however... (0 Replies)
Discussion started by: chlawren
0 Replies
3. Shell Programming and Scripting
Hello,
Need some help here. I have this script (test.sh):
#!/bin/sh
var=$1
(( var = 2 * var ))
echo $var
Now I want to call this script from awk with one argument and then capture the result in a variable, something like:
echo 40 | awk ' { x = $1; "test.sh " x | getline y; print y }... (1 Reply)
Discussion started by: fbg
1 Replies
4. Shell Programming and Scripting
I am using awk and want to use getline from a file like below
getline x < file
However file consists of two columns and I only want to store $2
Any way I can do this?
---------- Post updated at 06:54 AM ---------- Previous update was at 06:45 AM ----------
Done something like this.... (1 Reply)
Discussion started by: kristinu
1 Replies
5. Shell Programming and Scripting
Hi there, I have an ifconfig output and i want to write a script that determines whether there is a line "groupname ipmp" on a particular interface
here is my example ifconfig -a output
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1... (2 Replies)
Discussion started by: rethink
2 Replies
6. Shell Programming and Scripting
Greetings,
I have about 3000 files that I want to search. The first column in all of these 3000 files has a unique serial number on each line. The subsequent columns have lots of data.
I have another masterfile with three columns to help me find all the data I need in a moments notice:
col 1... (15 Replies)
Discussion started by: jeeplou
15 Replies
7. Shell Programming and Scripting
I want to import a textfile with getline into var t which has several lines. How do import all lines, since it only imports the last line:
while < ((getline t "textfile") > 0) (7 Replies)
Discussion started by: sdf
7 Replies
8. Shell Programming and Scripting
Hello,
I want to print out the DNA sequence entries (tens of thousand!) that are longer than certain value (i=200) from a file (FASTA file) as:
>S94D_ctg_8004 Average coverage: 402.95
ATAATGCCTGTGAATATGACATGTGTTCCTGTTTCTACATCAGACTACTATTCTTGCATA... (12 Replies)
Discussion started by: yifangt
12 Replies
9. Shell Programming and Scripting
Hi,
I have an awk script with the following function in it .
function cmd( c )
{
while( ( c | getline foo) > 0 ){
return foo ;
close( c );
}
}
c =... (4 Replies)
Discussion started by: MetaMan
4 Replies
10. Shell Programming and Scripting
Howdy Folks,
It seems like it is always awk that confuses the heck out of me and I even have books and examples.
I have this line:
awk '{if (/clientIP/)(SRV = $NF); if ($2 ~ /BUNDLE-GIM/) getline; if ($2 ~ /r100595/) {print SRV,"BUNDLE-GIM",$2}}' post.txt
to parse this text:
<api... (4 Replies)
Discussion started by: port43
4 Replies
LEARN ABOUT CENTOS
mail::spamassassin::plugin::shortcircuit
Mail::SpamAssassin::Plugin::Shortcircuit(3) User Contributed Perl Documentation Mail::SpamAssassin::Plugin::Shortcircuit(3)
NAME
Mail::SpamAssassin::Plugin::Shortcircuit - short-circuit evaluation for certain rules
SYNOPSIS
loadplugin Mail::SpamAssassin::Plugin::Shortcircuit
report Content analysis details: (_SCORE_ points, _REQD_ required, s/c _SCTYPE_)
add_header all Status "_YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTS_ shortcircuit=_SCTYPE_ autolearn=_AUTOLEARN_ version=_VERSION_"
DESCRIPTION
This plugin implements simple, test-based shortcircuiting. Shortcircuiting a test will force all other pending rules to be skipped, if
that test is hit. In addition, a symbolic rule, "SHORTCIRCUIT", will fire.
Recomended usage is to use "priority" to set rules with strong S/O values (ie. 1.0) to be run first, and make instant spam or ham
classification based on that.
CONFIGURATION SETTINGS
The following configuration settings are used to control shortcircuiting:
shortcircuit SYMBOLIC_TEST_NAME {ham|spam|on|off}
Shortcircuiting a test will force all other pending rules to be skipped, if that test is hit.
Recomended usage is to use "priority" to set rules with strong S/O values (ie. 1.0) to be run first, and make instant spam or ham
classification based on that.
To override a test that uses shortcircuiting, you can set the classification type to "off".
on Shortcircuits the rest of the tests, but does not make a strict classification of spam or ham. Rather, it uses the default score
for the rule being shortcircuited. This would allow you, for example, to define a rule such as
body TEST /test/
describe TEST test rule that scores barely over spam threshold
score TEST 5.5
priority TEST -100
shortcircuit TEST on
The result of a message hitting the above rule would be a final score of 5.5, as opposed to 100 (default) if it were classified as
spam.
off Disables shortcircuiting on said rule.
spam
Shortcircuit the rule using a set of defaults; override the default score of this rule with the score from
"shortcircuit_spam_score", set the "noautolearn" tflag, and set priority to "-100". In other words, equivalent to:
shortcircuit TEST on
priority TEST -100
score TEST 100
tflags TEST noautolearn
ham Shortcircuit the rule using a set of defaults; override the default score of this rule with the score from
"shortcircuit_ham_score", set the "noautolearn" and "nice" tflags, and set priority to "-100". In other words, equivalent to:
shortcircuit TEST on
priority TEST -100
score TEST -100
tflags TEST noautolearn nice
shortcircuit_spam_score n.nn (default: 100)
When shortcircuit is used on a rule, and the shortcircuit classification type is set to "spam", this value should be applied in place
of the default score for that rule.
shortcircuit_ham_score n.nn (default: -100)
When shortcircuit is used on a rule, and the shortcircuit classification type is set to "ham", this value should be applied in place of
the default score for that rule.
TAGS
The following tags are added to the set available for use in reports, headers etc.:
_SC_ shortcircuit status (classification and rule name)
_SCRULE_ rulename that caused the shortcircuit
_SCTYPE_ shortcircuit classification ("spam", "ham", "default", "none")
SEE ALSO
"http://issues.apache.org/SpamAssassin/show_bug.cgi?id=3109"
perl v5.16.3 2011-06-06 Mail::SpamAssassin::Plugin::Shortcircuit(3)