Hi all,
I have searched and found various threads about removing spaces from a field within a text file. Unfortunately, I have not found exactly what I'm looking for, nor am I adept enough to modify what I've found into what I need.
I use the following command to remove the first line... (3 Replies)
Hi all
I have two files X.txt and Y.txt. Both file contains same number of sentences. The content of X.txt is
The filter described above may be combined.
and the content of Y.txt is
The filter describ+ed above may be combin+ed.
Some of the words are separated with "+"... (2 Replies)
Hello,
Is there anyway that I can align a pipe delimited text file by the maxium field length where the field is separated out by pipes for large text files with more than
100,000 rows?
So, far I have searched other forums and google about aligning text files in unix and I have noticed that... (7 Replies)
I have list of files in a directory 'dir'. Each file is of type HTML. I need to read each file and get the string which starts with 'http' and write them in a new text file. How can i do this shell scripting?
file1.html
<head>
<url>http://www.google.com</url>
</head>
file2.html
<head>... (6 Replies)
Is there a way to read in a two-columned CSV file, and based on the fields in 1st column, output many different files? The input/output looks something like:
input.csv:
call Call Mom.
call Call T-Mobile.
go Go home.
go Go to school.
go Go to gas station.
play Play music.
play Play... (4 Replies)
I dont even have a sample script cause I dont know where to start from. My data lookes like this
> sat#16 #data: 15 site:UNZA baseline: 205.9151
0.008 -165.2465 35.8109 40.6685 21.9148 121.1446 26.4629 -18.4976 33.8722
0.017 -165.2243 48.2201 40.6908 ... (8 Replies)
I am trying to use awk skip each line with a ## or # and check each line after for STB= and if that value in greater than or = to 0.8, then at the end of line the text "STRAND BIAS" is written in else "GOOD".
So in the file of 4 entries attached.
awk tried:
awk NR > "##"' "#" -F"STB="... (6 Replies)
My program run without error. The problem I am having.
The program isn't outputting field values with the column headers to file.txt.
Each of the column headers in file.txt has no data.
MEMSIZE SECOND SASFoundation Filename
The output results in file.txt should show:
... (1 Reply)
In the awk below I am trying to print the entire line, along with the header row, if $2 is SNV or MNV or INDEL. If that condition is met or is true, and $3 is less than or equal to 0.05, then in $7 the sub pattern :GMAF= is found and the value after the = sign is checked. If that value is less than... (0 Replies)
The below awk executes as is and produces the current output. It isvery close but what Ican not seem to do is add the -exon..., the ... portion comes from $1 and the _exon is static and will never change. If there is + sign in $4 then the ... is in acending order or sequential. If there is a - in... (2 Replies)
Discussion started by: cmccabe
2 Replies
LEARN ABOUT DEBIAN
regexp::reggrp
Regexp::RegGrp(3pm) User Contributed Perl Documentation Regexp::RegGrp(3pm)NAME
Regexp::RegGrp - Groups a regular expressions collection
VERSION
Version 1.002
DESCRIPTION
Groups regular expressions to one regular expression
SYNOPSIS
use Regexp::RegGrp;
my $reggrp = Regexp::RegGrp->new(
{
reggrp => [
{
regexp => '%name%',
replacement => 'John Doe',
modifier => $modifier
},
{
regexp => '%company%',
replacement => 'ACME',
modifier => $modifier
}
],
restore_pattern => $restore_pattern
}
);
$reggrp->exec( $scalar );
To return a scalar without changing the input simply use (e.g. example 2):
my $ret = $reggrp->exec( $scalar );
The first argument must be a hashref. The keys are:
reggrp (required)
Arrayref of hashrefs. The keys of each hashref are:
regexp (required)
A regular expression
replacement (optional)
Scalar or sub.
A replacement for the regular expression match. If not set, nothing will be replaced except "store" is set. In this case the
match is replaced by something like sprintf("x01%dx01", $idx) where $idx is the index of the stored element in the store_data
arrayref. If "store" is set the default is:
sub {
return sprintf( "x01%dx01", $_[0]->{store_index} );
}
If a custom restore_pattern is passed to to constructor you MUST also define a replacement. Otherwise it is undefined.
If you define a subroutine as replacement an hashref is passed to this subroutine. This hashref has four keys:
match Scalar. The match of the regular expression.
submatches Arrayref of submatches.
store_index The next index. You need this if you want to create a placeholder and store the replacement in the
$self->{store_data} arrayref.
opts Hashref of custom options.
modifier (optional)
Scalar. The default is 'sm'.
store (optional)
Scalar or sub. If you define a subroutine an hashref is passed to this subroutine. This hashref has three keys:
match Scalar. The match of the regular expression.
submatches Arrayref of submatches.
opts Hashref of custom options.
A replacement for the regular expression match. It will not replace the match directly. The replacement will be stored in the
$self->{store_data} arrayref. The placeholders in the text can easily be rereplaced with the restore_stored method later.
restore_pattern (optional)
Scalar or Regexp object. The default restore pattern is
qr~x01(d+)x01~
This means, if you use the restore_stored method it is looking for x010x01, x011x01, ... and replaces the matches with
$self->{store_data}->[0], $self->{store_data}->[1], ...
EXAMPLES
Example 1
Common usage.
#!/usr/bin/perl
use strict;
use warnings;
use Regexp::RegGrp;
my $reggrp = Regexp::RegGrp->new(
{
reggrp => [
{
regexp => '%name%',
replacement => 'John Doe'
},
{
regexp => '%company%',
replacement => 'ACME'
}
]
}
);
open( INFILE, 'unprocessed.txt' );
open( OUTFILE, '>processed.txt' );
my $txt = join( '', <INFILE> );
$reggrp->exec( $txt );
print OUTFILE $txt;
close(INFILE);
close(OUTFILE);
Example 2
A scalar is requested by the context. The input will remain unchanged.
#!/usr/bin/perl
use strict;
use warnings;
use Regexp::RegGrp;
my $reggrp = Regexp::RegGrp->new(
{
reggrp => [
{
regexp => '%name%',
replacement => 'John Doe'
},
{
regexp => '%company%',
replacement => 'ACME'
}
]
}
);
open( INFILE, 'unprocessed.txt' );
open( OUTFILE, '>processed.txt' );
my $unprocessed = join( '', <INFILE> );
my $processed = $reggrp->exec( $unprocessed );
print OUTFILE $processed;
close(INFILE);
close(OUTFILE);
AUTHOR
Merten Falk, "<nevesenin at cpan.org>"
BUGS
Please report any bugs or feature requests through the web interface at http://github.com/nevesenin/regexp-reggrp-perl/issues
<http://github.com/nevesenin/regexp-reggrp-perl/issues>.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Regexp::RegGrp
COPYRIGHT & LICENSE
Copyright 2010, 2011 Merten Falk, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.14.2 2012-02-18 Regexp::RegGrp(3pm)