From a quick peek at your code, it looks like the block of if statements is executing on every single line that's read. And, since they test for every possible combination of arrow and choice, a counter will increment on each line read.
Regards,
Alister
---------- Post updated at 02:07 PM ---------- Previous update was at 01:51 PM ----------
Perhaps something along these lines will work (untested).
Code:
#Modified by JWB 1/14/2011 for ErrorDiscrim study
######################################################################
# Preprocesses raw output of E-prime task
# ISSUES:
######################################################################
igawk '
BEGIN{
OFS=" "
arrow = ""
response = ""
correct = 0
error = 0
totalpoints = 0
}
####################### Patterns #############################
#note: search string may have trouble with newlines as ^M?
/^Arrow:/ { arrow = $2 }
/^Choice:/ {
response = $2 }
# Compare arrow to response, increment the appropriate counter, and reset
if (arrow == "<--" && response == "left") || (arrow == "-->" && response == "right")
correct++
else
error++
arrow = response = ""
}
END{
print "correctChoices = " correct, "incorrectChoices = " error;
}
' $*
This solution is essentially the same as yinyuemi's minus the gsubs (sorry, missed that before I started).
Hello,
I am trying to count how many times a subject makes a correct switch or a correct stay response in a simple task. I have data on which condition they were in (here, labeled "IMAGINE" and "RECALL"), as well as whether they made a left or right button response, and whether the outcome was... (5 Replies)
Hi,
I want to perform a task using shell script. I am new to awk programming and any help would be greatly appreciated.
I have the following 3 files (for example)
file1:
Name count Symbol
chr1_1_50 10 XXXX
chr3_101_150 30 YYYY
File2:
Name ... (13 Replies)
#!/bin/ksh
db_user=$DB_USER_NAME
db_pwd=$DB_PASSWORD
db_sid=$TWO_TASK
if ; then
echo "\tUsage: MoveUsageProcessing <BC Log file Name>"
exit 1
else
BCLogFileName=$1
fi
grep -i 'MoveUsage daemon needs to run on this account before it can be billed' $1 |awk -F\| '{for(i=0;++i<=NF;) if($i ~... (1 Reply)
ret=`sqlplus -s /nolog << EOF
connect $db_user/$db_pwd@$db_sid;
SPOOL ./$DirectoryName/TableData.txt;
set pagesize 0 feedback off verify off heading off echo off linesize 150
while read var_ack_party_name
do
select * from bus_event where ack_party_name like... (13 Replies)
I have this input.|user1 |10.10.10.10 |23|046|1726 (212) |0
|user2 |10.10.10.11 |23|046|43 (17) |0
|test |10.10.10.12 |23|046|45 (10) |0
|test1 |10.10.10.13 |23|046|89 (32) |0
I need to get the data for a user like thisuser1 1726
user2 43
test 45
test1 89... (11 Replies)
Hi,
I hope you can help me with the awk command in shell scripting.
I want to do the following, but it doesn't work.
for i in $REF1 $REF2 $REF3; do
awk '{if($n>=0 && $n<=50000){count+=1}} END{print count}' ${DIR}${i} >${DIR}${i}_count.txt
done
REF1 to REF3 are only variables for .txt... (1 Reply)
Hi all,
Below is a script I'm writing and giving me error:
#!/usr/bin/sh
if ; then
echo "Success!"
else
echo "Failure!"
fi
Normally if I do ps -ef|grep dw.sap|wc -l it gives me output of 18. So my script checks if it's greater than 17 it echoes success else failure
... (5 Replies)
Discussion started by: frum
5 Replies
LEARN ABOUT DEBIAN
net::sieve::script::action
Net::Sieve::Script::Action(3pm) User Contributed Perl Documentation Net::Sieve::Script::Action(3pm)NAME
Net::Sieve::Script::Action - parse and write actions in sieve scripts
SYNOPSIS
use Net::Sieve::Script::Action;
$action = Net::Sieve::Script::Action->new('redirect "bart@example.edu"');
or
$action = Net::Sieve::Script::Action->new();
$action->command('redirect');
$action->param('"bart@example.edu"');
DESCRIPTION
Action object for Net::Sieve::Script, with command and optional param.
Support RFC 5228, RFC 5230 (vacation), regex draft
METHODS
CONSTRUCTOR new
Argument : "command param" string,
parse valid commands from RFCs, param are not validate.
command
read command : "$action->command()"
set command : "$action->command('stop')"
param
read param : "$action->param()"
set param : "$action->param(' :days 3 "I am away this week."')"
equals
return 1 if actions are equals
AUTHOR
Yves Agostini - Univ Metz - <agostini@univ-metz.fr>
<http://www.crium.univ-metz.fr>
COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
perl v5.10.0 2008-09-15 Net::Sieve::Script::Action(3pm)