06-09-2011
By default, a field is a sequence of characters delimited by spaces and tabs. So, everything up to the first tab/space is field 1. Any spaces and tabs following that field are a delimiter. Multiple spaces and tabs in a row do not create empty fields. Also, by default, leading and trailing whitespace are ignored during field splitting.
You can change the delimiter using the -F option or by setting the FS AWK variable.
The reason your code isn't working is because the BEGIN pattern is executed before AWK reads the first line of the file. Remove 'BEGIN' and it should work as you intend.
Should you ever find yourself needing to read lines in a BEGIN pattern, you need to explicitly use getline.
Regards,
Alister
This User Gave Thanks to alister For This Post:
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Just written a great little script that analyses a flat ASCII CSV file and reports for any discrepancies with field counts per record etc.
Works fine on all the flat files except one, which has 113 fields per line. AWK can only seemingly cope with up to 99 fields.
Is there any way around... (2 Replies)
Discussion started by: DaveM
2 Replies
2. Shell Programming and Scripting
I am using:
ps -A -o command,%cpu
to get process and cpu usage figures. I want to use awk to split up the columns it returns. If I use:
awk '{print "Process: "$1"\nCPU Usage: "$NF"\n"}'
the $NF will get me the value in the last column, but if there is more than one word in the... (2 Replies)
Discussion started by: json4639
2 Replies
3. Shell Programming and Scripting
#cat BATCH007.TXT
01,661060052,061000104,081118,0915,07,80,1,2/
99,,,2/
I have this file called BATCH007.TXT. I am trying to change fields 2 and 3 on line 2 to have zeroes. Like this:
01,661060052,061000104,081118,0915,07,80,1,2/
99,0,0,2/
I can use these commands to print identify the... (2 Replies)
Discussion started by: ddurden7
2 Replies
4. Shell Programming and Scripting
I'm working on formatting some attendance data to meet a vendors requirements to upload to their system. With some help on the forums here, I have the data close. But they've since changed what they want.
The vendor wants me to submit three fields to them. Field 1 is the studentid field,... (4 Replies)
Discussion started by: axo959
4 Replies
5. Shell Programming and Scripting
Hi there, i need some help please...
I have this text, it's name data.txt that contains the following information:
Mark Owen: 6999999888 6999999888 +302310999999 2310999999
Steve Blade Pit: +30691111222 2310888777 6999999888
John Rose: 2310777555 310544565 +302310999999
Mary Stuart:... (7 Replies)
Discussion started by: Mark_orig
7 Replies
6. Shell Programming and Scripting
Hi,
Could someone please let me know me how i can use an awk command to print the No. of fields of each file present in a Directory?Suppose the Directory has 5 text files in which the first record in each file contains fields separated by a '|'. I need to use a awk command to display the No... (8 Replies)
Discussion started by: pchegoor
8 Replies
7. Shell Programming and Scripting
Hi All,
I am looking for an awk script to do the following
Join the fields together only if the first 4 fields are same.
Can it be done with join function in awk??
a,b,c,d,8,,,
a,b,c,d,,7,,
a,b,c,d,,,9,
a,b,p,e,8,,,
a.b,p,e,,9,,
a,b,p,z,,,,9
a,b,p,z,,8,,
desired output:
... (1 Reply)
Discussion started by: aksijain
1 Replies
8. Shell Programming and Scripting
Hi experts,
I need to print the first field first then last two fields should come next and then i need to print rest of the fields.
Input :
a1,abc,jsd,fhf,fkk,b1,b2
a2,acb,dfg,ghj,b3,c4
a3,djf,wdjg,fkg,dff,ggk,d4,d5
Expected output:
a1,b1,b2,abc,jsd,fhf,fkk... (6 Replies)
Discussion started by: 100bees
6 Replies
9. Shell Programming and Scripting
I'm trying to compare 2 files for differences in a selct number of fields. When differnces are found it will write the whole record of the second file including appending '|C' out to a delta file. Each record will have 20 fields, but only want to do comparison of 1st 15 fields. The 1st field of... (7 Replies)
Discussion started by: sljnk
7 Replies
10. Shell Programming and Scripting
Hi
I have a file as below
<field1> <field2> <field3> ... <field_num1> <field_num2>
Trying to sort based on difference of <field_num1> and <field_num2> in desceding order and print all fields.
I tried this and it doesn't sort on the difference field .. Appreciate your help.
cat... (9 Replies)
Discussion started by: newstart
9 Replies
LEARN ABOUT LINUX
fsf-funding
FSF-FUNDING(7) GNU FSF-FUNDING(7)
NAME
fsf-funding - Funding Free Software
DESCRIPTION
Funding Free Software
If you want to have more free software a few years from now, it makes sense for you to help encourage people to contribute funds for its
development. The most effective approach known is to encourage commercial redistributors to donate.
Users of free software systems can boost the pace of development by encouraging for-a-fee distributors to donate part of their selling
price to free software developers---the Free Software Foundation, and others.
The way to convince distributors to do this is to demand it and expect it from them. So when you compare distributors, judge them partly
by how much they give to free software development. Show distributors they must compete to be the one who gives the most.
To make this approach work, you must insist on numbers that you can compare, such as, ``We will donate ten dollars to the Frobnitz project
for each disk sold.'' Don't be satisfied with a vague promise, such as ``A portion of the profits are donated,'' since it doesn't give a
basis for comparison.
Even a precise fraction ``of the profits from this disk'' is not very meaningful, since creative accounting and unrelated business deci-
sions can greatly alter what fraction of the sales price counts as profit. If the price you pay is $50, ten percent of the profit is prob-
ably less than a dollar; it might be a few cents, or nothing at all.
Some redistributors do development work themselves. This is useful too; but to keep everyone honest, you need to inquire how much they do,
and what kind. Some kinds of development make much more long-term difference than others. For example, maintaining a separate version of
a program contributes very little; maintaining the standard version of a program for the whole community contributes much. Easy new ports
contribute little, since someone else would surely do them; difficult ports such as adding a new CPU to the GNU Compiler Collection con-
tribute more; major new features or packages contribute the most.
By establishing the idea that supporting further development is ``the proper thing to do'' when distributing free software for a fee, we
can assure a steady flow of resources into making more free software.
SEE ALSO
gpl(7), gfdl(7).
COPYRIGHT
Copyright (c) 1994 Free Software Foundation, Inc. Verbatim copying and redistribution of this section is permitted without royalty; alter-
ation is not permitted.
gcc-3.3 2003-03-01 FSF-FUNDING(7)