There is more than one way to do it!
#! /usr/bin/perl -w
use strict;
my $DELIMITER = "\t";
my $state = 0;
while(<>) {
if($state) {
next if /Detailed explanation:|Normal/;
if(/Number of containers.*= (.*)$/) {
print "$DELIMITER$1\n";
$state = 0;
} elsif(/= (.*)$/) {
print "$DELIMITER$1";
$state++;
}
} elsif(/Tablespace ID.*= (.*)$/) {
print $1;
$state = 1;
}
}
you should add error checking
like check $state at last line
BenBart wrote:
Hi all,
Can anyone suggest what is the best way to convert the lines of text
between the ========= into a delimited file?
Do I have to read the lines one at a time and append the delimiter
that I wanted into the end of each line and then re-direct the output
to a file? FYI, the line "Tablespaces for Current Database" is like
the heading so the start of each record is at the line Tablespace ID.
My real objective is to convert this output into a delimited file of
tablespace records where the starting field of the record is the
Tablespace ID line and the ending field of the record is the Number of
Containers. The lines Detailed explanation: and Normal are not part of
the record.
Will I be better off using a UNIX script instead and awk+sed
Thanks in advance...
====================================================================
Tablespaces for Current Database
Tablespace ID = 0
Name = SYSCATSPACE
Type = System managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 32849
Useable pages = 32849
Used pages = 32849
Free pages = Not applicable
High water mark (pages) = Not applicable
Page size (bytes) = 4096
Extent size (pages) = 32
Prefetch size (pages) = 32
Number of containers = 1
Tablespace ID = 1
Name = TEMPSPACE1
Type = System managed space
Contents = System Temporary data
State = 0x0000
Detailed explanation:
Normal
Total pages = 1
Useable pages = 1
Used pages = 1
Free pages = Not applicable
High water mark (pages) = Not applicable
Page size (bytes) = 4096
Extent size (pages) = 32
Prefetch size (pages) = 32
Number of containers = 1
Tablespace ID = 2
Name = USERSPACE1
Type = System managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 12858
Useable pages = 12858
Used pages = 12858
Free pages = Not applicable
High water mark (pages) = Not applicable
Page size (bytes) = 4096
Extent size (pages) = 32
Prefetch size (pages) = 32
Number of containers = 1
Tablespace ID = 3
Name = TEMPSPACE08K
Type = System managed space
Contents = System Temporary data
State = 0x0000
Detailed explanation:
Normal
Total pages = 1
Useable pages = 1
Used pages = 1
Free pages = Not applicable
High water mark (pages) = Not applicable
Page size (bytes) = 8192
Extent size (pages) = 32
Prefetch size (pages) = 32
Number of containers = 1
Tablespace ID = 4
Name = TEMPSPACE32K
Type = System managed space
Contents = System Temporary data
State = 0x0000
Detailed explanation:
Normal
Total pages = 1
Useable pages = 1
Used pages = 1
Free pages = Not applicable
High water mark (pages) = Not applicable
Page size (bytes) = 32768
Extent size (pages) = 32
Prefetch size (pages) = 32
Number of containers = 1
Tablespace ID = 5
Name = TSINTI03
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 125
Useable pages = 122
Used pages = 20
Free pages = 102
High water mark (pages) = 20
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 6
Name = TSINTI05
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 400
Useable pages = 398
Used pages = 326
Free pages = 72
High water mark (pages) = 326
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 7
Name = TSINTI06
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 125
Useable pages = 122
Used pages = 30
Free pages = 92
High water mark (pages) = 30
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 8
Name = TSINTI10
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 12
Free pages = 86
High water mark (pages) = 12
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 9
Name = TSINTI11
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 12
Free pages = 86
High water mark (pages) = 12
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 10
Name = TSINTI13
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 22
Free pages = 76
High water mark (pages) = 22
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 11
Name = TSINTI14
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 12
Free pages = 86
High water mark (pages) = 12
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 12
Name = TSINTI15
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 36
Free pages = 62
High water mark (pages) = 36
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 13
Name = TSINTI16
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 52
Free pages = 46
High water mark (pages) = 52
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 14
Name = TSINTI17
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 250
Useable pages = 248
Used pages = 98
Free pages = 150
High water mark (pages) = 98
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 15
Name = TSINTI18
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 356
Useable pages = 354
Used pages = 140
Free pages = 214
High water mark (pages) = 140
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 16
Name = TSINTI26
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 12
Free pages = 86
High water mark (pages) = 12
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 17
Name = TSINTI27
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 6
Free pages = 92
High water mark (pages) = 6
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 18
Name = TSINTI28
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 12
Free pages = 86
High water mark (pages) = 12
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 19
Name = TSINTI30
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 12
Free pages = 86
High water mark (pages) = 12
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 20
Name = TSINTI31
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 12
Free pages = 86
High water mark (pages) = 12
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 21
Name = TSINTI32
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 12
Free pages = 86
High water mark (pages) = 12
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 22
Name = TSINTI33
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 6
Free pages = 92
High water mark (pages) = 6
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
Tablespace ID = 23
Name = TSINTI34
Type = Database managed space
Contents = Any data
State = 0x0000
Detailed explanation:
Normal
Total pages = 100
Useable pages = 98
Used pages = 12
Free pages = 86
High water mark (pages) = 12
Page size (bytes) = 8192
Extent size (pages) = 2
Prefetch size (pages) = 2
Number of containers = 1
====================================================================
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>