06-21-2016
Quote:
Originally Posted by
SiddhVi
Hi Team,
I am trying hard to find a way I can filter a line as below:
If I have a line as
/abc /def 123:/ghi /jkl 456:/mno /pqrs 7890:/tuvw /xyz
I am expecting my output to be as below:
/abc /def /jkl /pqrs /xyz
basically I want to ignore anything preceding or succeeding colon (":") from a line.
Please help.
Please, try:
perl -pe 's/\s\d+:\/\w+//g' SiddhVi.file
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
It seems like it should be very simple to have a command like grep return a specific line from a file but I can't find anything in the man pages to make grep search by line. I've looked in cat as well. Anyone know how to return a single line from a file? (5 Replies)
Discussion started by: gelitini
5 Replies
2. Shell Programming and Scripting
How do I filter only comments and still keep Line breaks at the end of the line!?
This is one of the common tasks we all do,, How can we do this in a right way..!?
I try to ignore empty lines and commented lines using following approach.
test.sh
# \040 --> SPACE character octal... (17 Replies)
Discussion started by: kchinnam
17 Replies
3. Shell Programming and Scripting
Hello Team,
I have a script in which more than 500 trigger statemetns are written.
i need to filter all lines from that script file which containts "CREATE TRIGGER" word in each line
is it possible using linux commands??
example:
CREATE TRIGGER S1.T1
.................. (10 Replies)
Discussion started by: kanakaraju
10 Replies
4. Shell Programming and Scripting
Hi,
I have an unwanted string at random lines of my verilog (*.v) file.
(* abccddee *) input A;
(* xyz *) input B;
(* 1234 *) output C;
I want a clean file like this:
input A;
input B;
output C;
the unwanted string begins with "(*" and ends with "*)" at multiple lines.
Any help... (2 Replies)
Discussion started by: return_user
2 Replies
5. Shell Programming and Scripting
dear all
about my last question
in fileA.txt (all list line i want to find in fileB.txt)
is content of line number
fileA.txt
23
34
35
55
59
and fileB.txt is content like
24:asd|ekkk|001|001
123:bca|egsd|210|002
1231:cas|egds|322|231
...
in fileB.txt they have line number like... (5 Replies)
Discussion started by: zvtral
5 Replies
6. Shell Programming and Scripting
I have two files. L1 and L2. (each file, has one string per line without any spaces)
I would like to get those lines in L1 that are not present anywhere in L2.
No substring match, just exact line by line match but it can be anywhere in the file. (line 5 in L1 may be present in line 22 of L2,... (2 Replies)
Discussion started by: nick2011
2 Replies
7. UNIX for Dummies Questions & Answers
Hi all!
I have a data set in this tab separated format : Label, Value1, Value2
An instance is "data.txt" :
0 1 1
-1 2 3
0 2 2
I would like to parse this data set and generate two files, one that has only data with the label 0 and the other with label -1, so my outputs should be, for... (1 Reply)
Discussion started by: gnat01
1 Replies
8. Shell Programming and Scripting
AWK Gurus,
data:
srvhcm01 AZSCI
srvhcm01 AZSDB
srvhcm01 BZSDB
srvhcm01 E2QDI31
srvhcm01 YPDCI
srvhcm01 YPDDB
srvhcm01 UV2FSCR
srvhcm01 UV2FSBI
srvhcm01 UV2FSXI
srvhcm01 UV2FSUC
srvhcm01 UV2FSEP
srvhcm01 UV2FSRE
srvhcm01 NASCI
srvhcm01 NASDB
srvhcm01 UV2FSSL
srvhcm01 UV2FSDI (7 Replies)
Discussion started by: rveri
7 Replies
9. Shell Programming and Scripting
Hi, I have multiple files on a directory with the following content:
blahblah
blahblah
hostname server1
blahblah
blahblah
---BEGIN---
aaa
bbb
ccc
ddd
---END---
blahblah
blahblah
blahblah
I would like to filter all the files with awk or sed or something else so I can get below... (6 Replies)
Discussion started by: bayupw
6 Replies
10. UNIX for Beginners Questions & Answers
I have 500 servers, in which I am looking to get hostname and password length information.
when I am trying to run script(which I build), in which shows output in one line below and asking to reset password and also some of the servers does not give output.
Please help
#!/bin/bash
for... (9 Replies)
Discussion started by: yash_message
9 Replies
LEARN ABOUT DEBIAN
poe::filter::map
POE::Filter::Map(3pm) User Contributed Perl Documentation POE::Filter::Map(3pm)
NAME
POE::Filter::Map - transform input and/or output within a filter stack
SYNOPSIS
#!perl
use POE qw(
Wheel::FollowTail
Filter::Line Filter::Map Filter::Stackable
);
POE::Session->create(
inline_states => {
_start => sub {
my $parse_input_as_lines = POE::Filter::Line->new();
my $redact_some_lines = POE::Filter::Map->new(
Code => sub {
my $input = shift;
$input = "[REDACTED]" unless $input =~ /sudo[d+]/i;
return $input;
},
);
my $filter_stack = POE::Filter::Stackable->new(
Filters => [
$parse_input_as_lines, # first on get, last on put
$redact_some_lines, # first on put, last on get
]
);
$_[HEAP]{tailor} = POE::Wheel::FollowTail->new(
Filename => "/var/log/system.log",
InputEvent => "got_log_line",
Filter => $filter_stack,
);
},
got_log_line => sub {
print "Log: $_[ARG0]
";
}
}
);
POE::Kernel->run();
exit;
DESCRIPTION
POE::Filter::Map transforms data inside the filter stack. It may be used to transform input, output, or both depending on how it is
constructed. This filter is named and modeled after Perl's built-in map() function.
POE::Filter::Map is designed to be combined with other filters through POE::Filter::Stackable. In the "SYNOPSIS" example, a filter stack
is created to parse logs as lines and redact all entries that don't pertain to a sudo process.
PUBLIC FILTER METHODS
In addition to the usual POE::Filter methods, POE::Filter::Map also supports the following.
new
new() constructs a new POE::Filter::Map object. It must either be called with a single Code parameter, or both a Put and a Get parameter.
The values for Code, Put and Get are code references that, when invoked, return transformed versions of their sole parameters. A Code
function will be used for both input and output, while Get and Put functions allow input and output to be filtered in different ways.
# Decrypt rot13.
sub decrypt_rot13 {
my $encrypted = shift;
$encrypted =~ tr[a-zA-Z][n-za-mN-ZA-M];
return $encrypted;
}
# Encrypt rot13.
sub encrypt_rot13 {
my $plaintext = shift;
$plaintext =~ tr[a-zA-Z][n-za-mN-ZA-M];
return $plaintext;
}
# Decrypt rot13 on input, and encrypt it on output.
my $rot13_transcrypter = POE::Filter::Map->new(
Get => &decrypt_rot13,
Put => &encrypt_rot13,
);
Rot13 is symmetric, so the above example can be simplified to use a single Code function.
my $rot13_transcrypter = POE::Filter::Map->new(
Code => sub {
local $_ = shift;
tr[a-zA-Z][n-za-mN-ZA-M];
return $_;
}
);
modify
modify() changes a POE::Filter::Map object's behavior at run-time. It accepts the same parameters as new(), and it replaces the existing
transforms with new ones.
# Switch to "reverse" encryption for testing.
$rot13_transcrypter->modify(
Code => sub { return scalar reverse shift }
);
SEE ALSO
POE::Filter for more information about filters in general.
POE::Filter::Stackable for more details on stacking filters.
BUGS
None known.
AUTHORS & COPYRIGHTS
The Map filter was contributed by Dieter Pearcey. Documentation is provided by Rocco Caputo.
Please see the POE manpage for more information about authors and contributors.
perl v5.14.2 2012-05-15 POE::Filter::Map(3pm)