/usr/bin/tmxgrep is in libxml-tmx-perl 0.36-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | #!/usr/bin/perl -w -s
# PODNAME: tmxgrep
# ABSTRACT: grep translation units in a TMX file
## use utf8::all;
use Data::Dumper;
our ($all,$w,$max,$pdf, $o, $n, $a,$debug, $i);
my ($ab,$ae); ## emphatise marker
if($a){
if($a eq "1"){
$ab="=(";
$ae=")=";
}
elsif($a){
$ab="<$a>";
$ae="</$a>";
}
}
$max //= 500;
$max = 1000000000 if ($max == 0 or $all);
use strict;
use warnings;
my $p = shift;
if($i and $w){ $p = qr{(?i)\b$p\b} }
elsif($i) { $p = qr{(?i)$p} }
elsif($w) { $p = qr{\b$p\b} }
use XML::TMX;
use XML::TMX::Reader;
$o //= "__.tmx" if $pdf;
our ($icons);
my $tmx = shift;
my $tmx_obj = XML::TMX::Reader->new($tmx);
$tmx_obj->for_tu(
{ patt => $p,
gen_tu=> $max,
n => $n || 0,
output => $o || undef }, #### "__tmxgrep.tmx"
sub { my($tu,$at) = @_;
print STDERR Dumper($tu,$at) if $main::debug;
# print STDERR ".";
if($main::a){
for my $k(keys %$tu){
for(keys %{$tu->{$k}}){
$tu->{$k}{$_} =~ s!($p)!$ab$1$ae!g;
}
}
}
return $tu;
}
);
if($pdf){ system("tmx2pdf-prince -v $o");}
__END__
=pod
=encoding UTF-8
=head1 NAME
tmxgrep - grep translation units in a TMX file
=head1 VERSION
version 0.36
=head1 SYNOPSIS
tmxgrep <perlregexp> file.tmx
options:
-pdf -- output is transformed in a PDF file
-max=300 -- extract up to 300 TU (def=500)
-max=0 -- all matches
-all -- all matches
-a -- annotate matches with '=(...)='
-o=out.tmx -- define output file (defaut= STDOUT)
-n -- print original TU number (eg: <tu n="35">)
-i -- ignore case
=head1 DESCRIPTION
Creates a TMX file with the translation units that macth the provided
regular expression.
=head1 AUTHORS
=over 4
=item *
Alberto Simões <ambs@cpan.org>
=item *
José João Almeida <jj@di.uminho.pt>
=back
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2010-2017 by Projeto Natura <natura@di.uminho.pt>.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
|