Deleting rows in a file based on condition

From: Ken Hill <ken(at)scottshill(dot)com>
To: Perl Help <pgsql-sql(at)postgresql(dot)org>
Subject: Deleting rows in a file based on condition
Date: 2006-02-10 17:52:47
Message-ID: 1139593968.30696.10.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

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$\0039007300$\$second_section$\
$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.

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Ken Hill 2006-02-10 18:00:02 Re: Deleting rows in a file based on condition
Previous Message Tom Lane 2006-02-10 16:59:48 Re: date