05-22-2006
Help needed in awk
Hi All,
I am trying to manipulate a file using awk in UNIX. My file "test_file" is structured as follows:
field1:field2:field3
field4:field5:field6
field7:field8:field9
My requirement is to calculate another field (which would be let's say sum of 2nd and third column and put as fourth column in this file). so that my final output would be
field1:field2:field3:fieldA
field4:field5:field6:fieldB
field7:field8:field9:fieldC
where fieldA=field2 + field3 and so on...
I have the following piece of code which I guess, is nowhere in the working condition right now:
while read line
do
echo $line | awk -F: 'BEGIN {OFS=":"}
{$4=$2 + $3 ; print $0}' >> new_test_file
done < test_file
I read somewhere that you can dynamically calculate variables in awk, so $4 would be dynamically calculated at the run time. Subsequently when i print $0 should contain the new calculated field too. But I guess that is not the case.
Can anybody look into above and help me out?
Thanks
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am trying to write a script that will parse out the e-mail address of a person from the name of a file in a directory.
Example:
filename is:
/home/myname/first.middle.last@email.com.xls
I want to extract just the email address and mail the file to that address.
I want to send the... (6 Replies)
Discussion started by: Drenhead
6 Replies
2. Shell Programming and Scripting
How do I alter this command so that it prints only the second comma delimited field from line number 3? Secondly, how do you redirect the output to a variable called TEST?
Thanks
(cat BATCH007.TXT | awk 'BEGIN { FS = "," } ; {print $2 }') (5 Replies)
Discussion started by: ddurden7
5 Replies
3. Shell Programming and Scripting
Hi ,
i have a file a.txt like this:
far
near
veryfar
toonear
typeset var1=veryfar
to extract the text between two strings i use the following command :
awk '/far/,$veryfar/' a.txt
its not working
can nyone tell pls whats wrong in it ?
i doubt can we use variable in awk like this... (3 Replies)
Discussion started by: santosh1234
3 Replies
4. UNIX for Dummies Questions & Answers
I have a log file monitor script that checks through a log file for a string. I use awk to search the log file, starting at the last checked line, for the specified string and then output the count and the last row number checked. The part of the script that does all the work is here:
set --... (6 Replies)
Discussion started by: mglenney
6 Replies
5. Shell Programming and Scripting
hi,
I have input file woth records as shown below
OCSMRC_OK,7057348733,+0.00,0,18/05/2010 23:42:19,BellMobility,302610000918553,0006056099,B30,686505,686505,OCS_MRC,+49.14,0,0
,0,0,
OCSPPKB_NOK,4163460120,+1.25,0,18/05/2010... (4 Replies)
Discussion started by: raghavendra.cse
4 Replies
6. UNIX for Dummies Questions & Answers
Dear all,
I am new to use unix. I run the following command and got the error. Anyone knows how should I modify the command. Thanks a lot!
$
for chr in 'seq 1 23';
do
awk 'BEGIN {print "T","pheno";}{print "M",$2}' out_${chr}.map > dat_${chr}.dat;
done
error message:... (2 Replies)
Discussion started by: forevertl
2 Replies
7. Shell Programming and Scripting
Hi,
i have input records as shown below.
4097,Probe3,G10,255,05/17/2011 12:44:03:185,NULL,05/17/2011 12:39:03:180,05/17/2011... (1 Reply)
Discussion started by: raghavendra.nsn
1 Replies
8. Shell Programming and Scripting
Hi Experts,
I have a file (file 1) with several columns and I need to create 2 files based on the data of 20th column of file 1.
Criteria 1 : If the 20th field of file1 is empty , copy the entire records to file 2.
I am successfully able to do this with the following awk code :
awk... (2 Replies)
Discussion started by: nua7
2 Replies
9. Shell Programming and Scripting
Hi Everyone,
i have following in my file
1
2
3
4
5
6
.
.
100
and now i want the output as
1 4 7 ..........so on..............97 100 (10 Replies)
Discussion started by: zozoo
10 Replies
10. Shell Programming and Scripting
Hi..
have a file as below, appreciate if someone can help on this
143|500| 10| 23353 22131 23355 23354 23358 23352 23357 23350 23349 23351| RAID5
213|1008| 9| 22419 22412 221 22413 22414 22416 22417 22415 22418| RAID6
1088|500| 5| 22243 22240 22244 22242 22241| RAID5
322|1200| 12|... (6 Replies)
Discussion started by: richard0@rediff
6 Replies
LEARN ABOUT PHP
fbsql_list_fields
FBSQL_LIST_FIELDS(3) 1 FBSQL_LIST_FIELDS(3)
fbsql_list_fields - List FrontBase result fields
SYNOPSIS
resource fbsql_list_fields (string $database_name, string $table_name, [resource $link_identifier])
DESCRIPTION
Retrieves information about the given table.
PARAMETERS
o $database_name
- The database name.
o $table_name
- The table name.
o $
link_identifier -A FrontBase link identifier returned by fbsql_connect(3) or fbsql_pconnect(3).If optional and not specified, the
function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if
fbsql_connect(3) was called with no arguments.
RETURN VALUES
Returns a result pointer which can be used with the fbsql_field_xxx functions, or FALSE on error.
ERRORS
/EXCEPTIONS
A string describing the error will be placed in $phperrmsg, and unless the function was called as @fbsql() then this error string will
also be printed out.
EXAMPLES
Example #1
fbsql_list_fields(3) example
<?php
$link = fbsql_connect('localhost', 'myname', 'secret');
$fields = fbsql_list_fields("database1", "table1", $link);
$columns = fbsql_num_fields($fields);
for ($i = 0; $i < $columns; $i++) {
echo fbsql_field_name($fields, $i) . "
";;
}
?>
The above example will output something similar to:
field1
field2
field3
SEE ALSO
fbsql_field_len(3), fbsql_field_name(3), fbsql_field_type(3), fbsql_field_flags(3).
PHP Documentation Group FBSQL_LIST_FIELDS(3)