Sponsored Content
Top Forums Shell Programming and Scripting Awk: first line not processed correctly Post 302222587 by BartleDuc on Thursday 7th of August 2008 04:34:54 AM
Old 08-07-2008
Awk: first line not processed correctly

Hey,

I've made a little awk-script which reorders lines.
Works okay, only problem is that is doesn't process the first line correctly.
If I switch lines in the Input file it doesn't proces this first line either.

Somebody please help!

Here's is the code and the input file!

thanx


Code:
awk 'FS=","{print $1","$2","$3","$4","$5","$6","$7","$8","$9";xf="$11";yf="$
12";,"$10}' Input > Output

Code:
Input
1,2,0,0,6,43,5,0,p1=Gmünd;p2=Austria;p8=Bad Großpertholz;fc=4,,1473937,4855256,1
2,3,0,0,6,43,5,0,p1=Gmünd;p2=Austria;p8=Bad Großpertholz;fc=4,Güterweg Gugu,1473760,4855398,2
2,4,0,0,6,43,5,0,p1=Gmünd;p2=Austria;p8=Bad Großpertholz;fc=4,,1473760,4855398,2

Code:
Output
1,2,0,0,6,43,5,0,p1=Gmünd;p2=Austria;p8=Bad,Großpertholz;fc=4,,1473937,4855256,1,,,,,,,;xf=;yf=;,
2,3,0,0,6,43,5,0,p1=Gmünd;p2=Austria;p8=Bad Großpertholz;fc=4;xf=1473760;yf=4855398;,Güterweg Gugu
2,4,0,0,6,43,5,0,p1=Gmünd;p2=Austria;p8=Bad Großpertholz;fc=4;xf=1473760;yf=4855398;,

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Unable to display correctly the contents of a file without a line feed

I am using AIX and ksh. I need to display the contents of a file that has a pid (process id). Because the file is open, it doesn't have the line feed or new line, so for some reason if I do this: `cat $pid` , where $pid is the name of the fully qualified file, it displays test3.sh: 426110:... (1 Reply)
Discussion started by: Gato
1 Replies

2. Shell Programming and Scripting

Grep/awk not getting the message correctly

I have a script which will take two file as the inputs and take the Value in file1 and search in file2 and give the output in Outputfile. #!/bin/sh #. ${HOME}/crossworlds/bin/CWSharedEnv.sh FILE1=$1 FILE2=$2 for Var in $(cat $FILE1);do echo $Var grep -i "$Var" $FILE2 done > Outputfile I... (2 Replies)
Discussion started by: SwapnaNaidu
2 Replies

3. Shell Programming and Scripting

awk script to remove spaces - examples don't show up correctly

I have the following data from a manual database dump. I need to format the columns so that I can import them into an excel spread sheet. So far I have been able to get past the hurdles with vi and grep. Now I have one last issue that I can't get past. Here is an example of the data. Here is... (18 Replies)
Discussion started by: Chris_Rivera
18 Replies

4. Shell Programming and Scripting

Deleting processed lines

I have a log file that I am processing. This contains messages from and to a server (requests and responses). The responses to requests may not be in order i.e. we can have a response to a request after several requests are sent, and in some error cases there may not be any response message. ... (2 Replies)
Discussion started by: BootComp
2 Replies

5. Shell Programming and Scripting

remember processed files

Hello dear community! I have the following task to accomplish: there is a directory with approximately 2 thousand files. I have to write a script which would randomly extract 200 files on the first run. On the second run it should extract again 200 files but that files mustn't intersect with... (5 Replies)
Discussion started by: sidorenko
5 Replies

6. UNIX for Dummies Questions & Answers

regex to split a line correctly

Hello, I'm working on a little project to extract weather data from website. At this point, I've stored each weather information on one line in a UNIX standard file. Each line has the structure: dd-mm-yy:City:dd-mm-yy:kind Of Data:value Of Data the first dd-mm-yy (it's the french format... (6 Replies)
Discussion started by: tevious
6 Replies

7. Shell Programming and Scripting

CRON shell script only runs correctly on command line

Hi, I'm new to these forums, and I'm hoping that someone can solve this problem... To make things short: I have DD-wrt set up on a router. I'm trying to run a script in CRON that fetches the daily password from my database using SSH. CRON is set like so(in web interface): * * * *... (4 Replies)
Discussion started by: louieaw
4 Replies

8. Shell Programming and Scripting

awk not working correctly

Hi I am attempting to right a script which will read a table and extract specfic information. LASTFAILEDJOB=/usr/openv/netbackup/scripts/GB-LDN/Junaid/temp_files/lastfailedjob cat /usr/openv/netbackup/scripts/GB-LDN/Junaid/temp_files/lastfailedjob 237308646 If i run the following... (5 Replies)
Discussion started by: Junes
5 Replies

9. Shell Programming and Scripting

Check the file processed Completion

Hi, I have a wierd requirement where i need to check for a file transfered to my Server and once it is completed i need to start processing my jobs. My server is AIX 6.0 and i want to know is there some way in unix i can keep on checking the file and once it is completed successfully i can... (5 Replies)
Discussion started by: prasson_ibm
5 Replies

10. Shell Programming and Scripting

Why does this awk script not work correctly?

I have a large database with English on the left hand side and Indic words on the left hand. It so happens that since the Indic words have been entered by hand, there are duplicates in the entries. The structure is as under: English headword=Indic gloss,Indic gloss A small sample will... (6 Replies)
Discussion started by: gimley
6 Replies
Bad(3)							User Contributed Perl Documentation						    Bad(3)

NAME
PDL::Bad - PDL does process bad values DESCRIPTION
PDL has been compiled with WITH_BADVAL set to 1. Therefore, you can enter the wonderful world of bad value support in PDL. This module is loaded when you do "use PDL", "Use PDL::Lite" or "PDL::LiteF". Implementation details are given in PDL::BadValues. SYNOPSIS
use PDL::Bad; print " Bad value support in PDL is turned " . $PDL::Bad::Status ? "on" : "off" . ". "; Bad value support in PDL is turned on. and some other things VARIABLES
There are currently three variables that this module defines which may be of use. $PDL::Bad::Status Set to 1 $PDL::Bad::UseNaN Set to 1 if PDL was compiled with "BADVAL_USENAN" set, 0 otherwise. $PDL::Bad::PerPdl Set to 1 if PDL was compiled with the experimental "BADVAL_PER_PDL" option set, 0 otherwise. FUNCTIONS
badflag switch on/off/examine bad data flag if ( $a->badflag() ) { print "Data may contain bad values. "; } $a->badflag(1); # set bad data flag $a->badflag(0); # unset bad data flag A return value of 1 does not guarantee the presence of bad data in a piddle; all it does is say that we need to check for the presence of such beasties. To actually find out if there are any bad values present in a piddle, use the check_badflag method. Does support bad values. badvalue returns the value used to indicate a missing (or bad) element for the given piddle type. You can give it a piddle, a PDL::Type object, or one of $PDL_B, $PDL_S, etc. $badval = badvalue( float ); $a = ones(ushort,10); print "The bad data value for ushort is: ", $a->badvalue(), " "; If a new value is supplied via a piddle (e.g. "$a->badvalue(23)"), then the data in the supplied piddle is converted to use the new bad value as well if the data type is an integer or "$PDL::Bad::UseNaN == 0". Currently there is no way of automatically converting the bad values of already existing piddles. This could be supported - e.g. by having a per-piddle bad value or by storing a time index in the piddle structure - if required. If the $PDL::Bad::PerPdl flag is set then it is possible to change the bad value on a per-piddle basis, so $a = sequence(10); $a->badvalue(3); $a->badflag(1); $b = sequence(10); $b->badvalue(4); $b->badflag(1); will set $a to be "[0 1 2 BAD 4 5 6 7 8 9]" and $b to be "[0 1 2 3 BAD 5 6 7 8 9]". If the flag is not set then both $a and $b will be set to "[0 1 2 3 BAD 5 6 7 8 9]". Please note that the code to support per-piddle bad values is experimental in the current release. Does support bad values. orig_badvalue returns the original value used to represent bad values for a given type. This routine operates the same as badvalue, except you can not change the values. It also has an awful name. $orig_badval = orig_badvalue( float ); $a = ones(ushort,10); print "The original bad data value for ushort is: ", $a->orig_badvalue(), " "; Does support bad values. check_badflag clear the bad-value flag of a piddle if it does not contain any bad values Given a piddle whose bad flag is set, check whether it actually contains any bad values and, if not, clear the flag. It returns the final state of the bad-value flag. print "State of bad flag == ", $pdl->check_badflag; Does support bad values. isbad Signature: (a(); int [o]b()) Is a value bad? Returns a 1 if the value is bad, 0 otherwise. Also see isfinite. $a = pdl(1,2,3); $a->badflag(1); set($a,1,$a->badvalue); $b = isbad($a); print $b, " "; [0 1 0] isbad does handle bad values. The output piddles will NOT have their bad-value flag set. isgood Signature: (a(); int [o]b()) Is a value good? Returns a 1 if the value is good, 0 otherwise. Also see isfinite. $a = pdl(1,2,3); $a->badflag(1); set($a,1,$a->badvalue); $b = isgood($a); print $b, " "; [1 0 1] isgood does handle bad values. The output piddles will NOT have their bad-value flag set. nbadover Signature: (a(n); int+ [o]b()) Find the number of bad elements along the 1st dimension. This function reduces the dimensionality of a piddle by one by finding the number of bad elements along the 1st dimension. By using xchg etc. it is possible to use any dimension. $a = nbadover($b); $spectrum = nbadover $image->xchg(0,1) nbadover does handle bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. ngoodover Signature: (a(n); int+ [o]b()) Find the number of good elements along the 1st dimension. This function reduces the dimensionality of a piddle by one by finding the number of good elements along the 1st dimension. By using xchg etc. it is possible to use any dimension. $a = ngoodover($b); $spectrum = ngoodover $image->xchg(0,1) ngoodover does handle bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles. nbad Returns the number of bad values in a piddle $x = nbad($data); Does support bad values. ngood Returns the number of good values in a piddle $x = ngood($data); Does support bad values. setbadat Set the value to bad at a given position. setbadat $piddle, @position @position is a coordinate list, of size equal to the number of dimensions in the piddle. This is a wrapper around set and is probably mainly useful in test scripts! perldl> $x = sequence 3,4 perldl> $x->setbadat 2,1 perldl> p $x [ [ 0 1 2] [ 3 4 BAD] [ 6 7 8] [ 9 10 11] ] Supports badvalues. setbadif Signature: (a(); int mask(); [o]b()) Set elements bad based on the supplied mask, otherwise copy across the data. $a = sequence(5,5); $a = $a->setbadif( $a % 2 ); print "a badflag: ", $a->badflag, " "; a badflag: 1 Unfortunately, this routine can not be run inplace, since the current implementation can not handle the same piddle used as "a" and "mask" (eg "$a->inplace->setbadif($a%2)" fails). Also see setvaltobad and setnantobad. The output always has its bad flag set, even if it does not contain any bad values (use check_badflag to check whether there are any bad values in the output). Any bad values in the input piddles are copied across to the output piddle. setvaltobad Signature: (a(); [o]b(); double value) Set bad all those elements which equal the supplied value. $a = sequence(10) % 3; $a->inplace->setvaltobad( 0 ); print "$a "; [BAD 1 2 BAD 1 2 BAD 1 2 BAD] This is a simpler version of setbadif, but this function can be done inplace. See setnantobad if you want to convert NaN/Inf to the bad value. The output always has its bad flag set, even if it does not contain any bad values (use check_badflag to check whether there are any bad values in the output). Any bad values in the input piddles are copied across to the output piddle. setnantobad Signature: (a(); [o]b()) Sets NaN/Inf values in the input piddle bad (only relevant for floating-point piddles). Can be done inplace. $b = $a->setnantobad; $a->inplace->setnantobad; Supports bad values. setbadtonan Signature: (a(); [o]b()) Sets Bad values to NaN (only relevant for floating-point piddles). Can be done inplace and it clears the bad flag. $b = $a->setbadtonan; $a->inplace->setbadtonan; Supports bad values. setbadtoval Signature: (a(); [o]b(); double newval) Replace any bad values by a (non-bad) value. Can be done inplace. Also see badmask. $a->inplace->setbadtoval(23); print "a badflag: ", $a->badflag, " "; a badflag: 0 The output always has its bad flag cleared. If the input piddle does not have its bad flag set, then values are copied with no replacement. copybad Signature: (a(); mask(); [o]b()) Copies values from one piddle to another, setting them bad if they are bad in the supplied mask. Can be done inplace. $a = byte( [0,1,3] ); $mask = byte( [0,0,0] ); set($mask,1,$mask->badvalue); $a->inplace->copybad( $mask ); p $a; [0 BAD 3] It is equivalent to: $c = $a + $mask * 0 Handles bad values. CHANGES
The experimental "BADVAL_PER_PDL" configuration option, which - when set - allows per-piddle bad values, was added after the 2.4.2 release of PDL. The "" variable can be inspected to see if this feature is available. AUTHOR
Doug Burke (djburke@cpan.org), 2000, 2001, 2003, 2006. The per-piddle bad value support is by Heiko Klein(2006). All rights reserved. There is no warranty. You are allowed to redistribute this software / documentation under certain conditions. For details, see the file COPYING in the PDL distribution. If this file is separated from the PDL distribution, the copyright notice should be included in the file. perl v5.12.1 2010-07-05 Bad(3)
All times are GMT -4. The time now is 08:46 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy