mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-16 08:17:20 +00:00
Read opts file in perl instead of 'cat file | perl' to avoid occasional 'cat: write error: Broken pipe'.
This commit is contained in:
@@ -209,34 +209,38 @@ parse_options() {
|
||||
_parse_pod() {
|
||||
local file="$1"
|
||||
|
||||
cat "$file" | PO_DIR="$PO_DIR" perl -ne '
|
||||
BEGIN { $/ = ""; }
|
||||
next unless $_ =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <>;
|
||||
PO_FILE="$file" PO_DIR="$PO_DIR" perl -e '
|
||||
$/ = "";
|
||||
my $file = $ENV{PO_FILE};
|
||||
open my $fh, "<", $file or die "Cannot open $file: $!";
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
next unless $para =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <>;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
last;
|
||||
}
|
||||
last;
|
||||
'
|
||||
}
|
||||
|
||||
|
@@ -211,34 +211,38 @@ parse_options() {
|
||||
_parse_pod() {
|
||||
local file="$1"
|
||||
|
||||
cat "$file" | PO_DIR="$PO_DIR" perl -ne '
|
||||
BEGIN { $/ = ""; }
|
||||
next unless $_ =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <>;
|
||||
PO_FILE="$file" PO_DIR="$PO_DIR" perl -e '
|
||||
$/ = "";
|
||||
my $file = $ENV{PO_FILE};
|
||||
open my $fh, "<", $file or die "Cannot open $file: $!";
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
next unless $para =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <>;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
last;
|
||||
}
|
||||
last;
|
||||
'
|
||||
}
|
||||
|
||||
|
50
bin/pt-pmp
50
bin/pt-pmp
@@ -252,34 +252,38 @@ parse_options() {
|
||||
_parse_pod() {
|
||||
local file="$1"
|
||||
|
||||
cat "$file" | PO_DIR="$PO_DIR" perl -ne '
|
||||
BEGIN { $/ = ""; }
|
||||
next unless $_ =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <>;
|
||||
PO_FILE="$file" PO_DIR="$PO_DIR" perl -e '
|
||||
$/ = "";
|
||||
my $file = $ENV{PO_FILE};
|
||||
open my $fh, "<", $file or die "Cannot open $file: $!";
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
next unless $para =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <>;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
last;
|
||||
}
|
||||
last;
|
||||
'
|
||||
}
|
||||
|
||||
|
50
bin/pt-sift
50
bin/pt-sift
@@ -250,34 +250,38 @@ parse_options() {
|
||||
_parse_pod() {
|
||||
local file="$1"
|
||||
|
||||
cat "$file" | PO_DIR="$PO_DIR" perl -ne '
|
||||
BEGIN { $/ = ""; }
|
||||
next unless $_ =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <>;
|
||||
PO_FILE="$file" PO_DIR="$PO_DIR" perl -e '
|
||||
$/ = "";
|
||||
my $file = $ENV{PO_FILE};
|
||||
open my $fh, "<", $file or die "Cannot open $file: $!";
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
next unless $para =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <>;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
last;
|
||||
}
|
||||
last;
|
||||
'
|
||||
}
|
||||
|
||||
|
50
bin/pt-stalk
50
bin/pt-stalk
@@ -263,34 +263,38 @@ parse_options() {
|
||||
_parse_pod() {
|
||||
local file="$1"
|
||||
|
||||
cat "$file" | PO_DIR="$PO_DIR" perl -ne '
|
||||
BEGIN { $/ = ""; }
|
||||
next unless $_ =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <>;
|
||||
PO_FILE="$file" PO_DIR="$PO_DIR" perl -e '
|
||||
$/ = "";
|
||||
my $file = $ENV{PO_FILE};
|
||||
open my $fh, "<", $file or die "Cannot open $file: $!";
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
next unless $para =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <>;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
last;
|
||||
}
|
||||
last;
|
||||
'
|
||||
}
|
||||
|
||||
|
@@ -218,34 +218,38 @@ parse_options() {
|
||||
_parse_pod() {
|
||||
local file="$1"
|
||||
|
||||
cat "$file" | PO_DIR="$PO_DIR" perl -ne '
|
||||
BEGIN { $/ = ""; }
|
||||
next unless $_ =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <>;
|
||||
PO_FILE="$file" PO_DIR="$PO_DIR" perl -e '
|
||||
$/ = "";
|
||||
my $file = $ENV{PO_FILE};
|
||||
open my $fh, "<", $file or die "Cannot open $file: $!";
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
next unless $para =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <>;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
last;
|
||||
}
|
||||
last;
|
||||
'
|
||||
}
|
||||
|
||||
|
@@ -230,34 +230,38 @@ _parse_pod() {
|
||||
# default=foo
|
||||
# That's the spec for --string-opt2. Each line is a key:value pair
|
||||
# from the option's POD line like "type: string; default: foo".
|
||||
cat "$file" | PO_DIR="$PO_DIR" perl -ne '
|
||||
BEGIN { $/ = ""; }
|
||||
next unless $_ =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <>;
|
||||
PO_FILE="$file" PO_DIR="$PO_DIR" perl -e '
|
||||
$/ = "";
|
||||
my $file = $ENV{PO_FILE};
|
||||
open my $fh, "<", $file or die "Cannot open $file: $!";
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
next unless $para =~ m/^=head1 OPTIONS/;
|
||||
while ( defined(my $para = <$fh>) ) {
|
||||
last if $para =~ m/^=head1/;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <>;
|
||||
if ( $para =~ m/^=item --(\S+)/ ) {
|
||||
my $opt = $1;
|
||||
my $file = "$ENV{PO_DIR}/$opt";
|
||||
open my $opt_fh, ">", $file or die "Cannot open $file: $!";
|
||||
print $opt_fh "long:$opt\n";
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
if ( $para =~ m/^[a-z ]+:/ ) {
|
||||
map {
|
||||
chomp;
|
||||
my ($attrib, $val) = split(/: /, $_);
|
||||
print $opt_fh "$attrib:$val\n";
|
||||
} split(/; /, $para);
|
||||
$para = <$fh>;
|
||||
chomp;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
my ($desc) = $para =~ m/^([^?.]+)/;
|
||||
print $opt_fh "desc:$desc.\n";
|
||||
close $opt_fh;
|
||||
}
|
||||
last;
|
||||
}
|
||||
last;
|
||||
'
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user