|
Home > Archive > PostgreSQL SQL > February 2006 > Deleting rows in a file based on condition
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Deleting rows in a file based on condition
|
|
| Ken Hill 2006-02-10, 1:24 pm |
| I have the following perl script that reads a fixed-width file and
replaces values in various sections of the file.
-------------------------------------------
open (IN, '< in.txt');
open (OUT, '> out_test.txt');
while (<IN> ) {
chomp;
$first_section = substr $_, 0, 381; # extract the first
section of the record
$facilityno = substr $_, 381, 10; # extract the facilityno
field
$second_section = substr $_, 391, 1056; # extract the
second section of the record
$requestor_section=" " x 500;
# $requestor_section = substr $_, 1446, 499; # extract requestor
section of record
$third_section = substr $_, 1946, 4748; # extract third
section of record
# print out the file with changed facilityno value ...
print OUT " $first_section$\0039
007300$\$second_sect
ion$\
$requestor_section$\
$third_section\n";
}
close (IN);
close (OUT);
------------------------------------------------
I want to place an "if...then" condition on the $facilityno value; such
that if the $facilityno value = 0000000000, delete the record (e.g.,
don't print out that row); rather skip that row and continue printing
out the remaining rows.
Any advice is very much appreciated.
| |
| Ken Hill 2006-02-10, 1:24 pm |
| Oops. I posted this to the wrong support list. Sorry.
-Ken
On Fri, 2006-02-10 at 09:52 -0800, Ken Hill wrote:
> I have the following perl script that reads a fixed-width file and
> replaces values in various sections of the file.
>
> -------------------------------------------
> open (IN, '< in.txt');
> open (OUT, '> out_test.txt');
>
> while (<IN> ) {
>
> chomp;
>
> $first_section = substr $_, 0, 381; # extract the first
> section of the record
> $facilityno = substr $_, 381, 10; # extract the
> facilityno field
> $second_section = substr $_, 391, 1056; # extract the
> second section of the record
> $requestor_section=" " x 500;
> # $requestor_section = substr $_, 1446, 499; # extract requestor
> section of record
> $third_section = substr $_, 1946, 4748; # extract third
> section of record
>
> # print out the file with changed facilityno value ...
>
> print OUT " $first_section$\0039
007300$\$second_sect
ion$\
> $requestor_section$\
$third_section\n";
>
> }
>
> close (IN);
> close (OUT);
> ------------------------------------------------
>
> I want to place an "if...then" condition on the $facilityno value;
> such that if the $facilityno value = 0000000000, delete the record
> (e.g., don't print out that row); rather skip that row and continue
> printing out the remaining rows.
>
> Any advice is very much appreciated.
>
|
|
|
|
|