05-28-2009
Quote:
Originally Posted by
FrancoisCN
Hey,
First of all, thanks a bunch, that script is allowing me to get rid of a lot of unnecessary data in my files. I've been using the script from ghostdog74 and it works great for the most part but it gets stuck when the expression has reserved signs like the ones listed below (and probably some others).
? | + -
Any way to force those characters to be considered as text?
your sample file doesn't contain those special characters right? then show one that does.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi All,
I need to print the lines after 2nd line irrespective of the number of lines in file
if the file contents are like below
----------
root:!:0:0::/root:/usr/bin/ksh
daemon:!:1:1::/etc:
bin:!:2:2::/bin:
sys:!:3:3::/usr/sys:
adm:!:4:4::/var/adm:
uucp:!:5:5::/usr/lib/uucp:... (6 Replies)
Discussion started by: ram1729
6 Replies
2. Shell Programming and Scripting
Hi everyone, I have a basic csh/awk question.
How do I print a given field from a given line in a given file?
Thanks in advance! (11 Replies)
Discussion started by: Deanne
11 Replies
3. Shell Programming and Scripting
Hi all,
I got several lines line this
a b c d e 1 e
a 1 c d e 3 f
a b c 1 e 8 h
a b c d e 1 w
a 1 c d e 2 w
a b c d e 1 t
a b c d e 7 4
How can I print the line if 1 is the field one before the last field?
Basicly this 2 field ?
a b c d e 1 e
a b c d e 1 t
The file I got is... (7 Replies)
Discussion started by: stinkefisch
7 Replies
4. Shell Programming and Scripting
Similar question... I have a space delimited text file and I want to only print the lines where the 3rd word/field/column is equal to "01"
awk '{if $3 = "01" print $0}'
something like this.
I meant to say:
only print line IF 3rd field is 01 (2 Replies)
Discussion started by: ajp7701
2 Replies
5. Shell Programming and Scripting
plz help me!!
I have this file ,
3408 5600
3796 6035
4200 6285
4676 0
40 1554
200 1998
652 2451
864 2728
1200 0
I want it like if $2==0,replace it with field from the previous line+500
say here the o/p would be like
3408 5600
3796 6035
4200 6285... (16 Replies)
Discussion started by: Indra2011
16 Replies
6. Shell Programming and Scripting
i want to print lines in a file that the 1st field of each line has a Date shape such:
yy/mm/dd
or on the other hand contains slash "/" . (1 Reply)
Discussion started by: oreka18
1 Replies
7. Shell Programming and Scripting
need a one liner to compare 2nd and 3rd field and print values that are not matched in 2nd field
Input
col 2 col 3
1.1.1.1 11.11.11.11
8.8.8.8 0.0.0.0
3.3.3.3 2.2.2.2
7.7.7.7 3.3.3.3
5.5.5.5 1.1.1.1
4.4.4.4
6.6.6.6
9.9.9.9
output
7.7.7.7 ... (12 Replies)
Discussion started by: chidori
12 Replies
8. Shell Programming and Scripting
Hi Guys,
I have the file
---
HOST_NAME,data_coleta,data_carga,CPU_util,CPU_idle,run_queue,memory,MEMORY_SYSTEM,MEMORY_TOTAL,MEMORY_SWAPIN,MEMORY_SWAPOUT,DISK_READ,DISK_WRITE,DISK_IO,NET_IN_PACKET,
NET_OUT_PACKET... (4 Replies)
Discussion started by: antoniorajr
4 Replies
9. Shell Programming and Scripting
Hello,
I have a text file in the below format:
Source Destination State Lag Status
CQA02W2K12pl:D:\CAQA ... (10 Replies)
Discussion started by: pocodot
10 Replies
10. Shell Programming and Scripting
I am trying to use awk to print the unique entries in $2
So in the example below there are 3 lines but 2 of the lines match in $2 so only one is used in the output.
File.txt
chr17:29667512-29667673 NF1:exon.1;NF1:exon.2;NF1:exon.38;NF1:exon.4;NF1:exon.46;NF1:exon.47 703.807... (5 Replies)
Discussion started by: cmccabe
5 Replies
LEARN ABOUT DEBIAN
perl::critic::policy::regularexpressions::prohibitescapedmetacha
Perl::Critic::Policy::RegularExpressions::ProhibitEscapeUseraContributPerl::Critic::Policy::RegularExpressions::ProhibitEscapedMetacharacters(3pm)
NAME
Perl::Critic::Policy::RegularExpressions::ProhibitEscapedMetacharacters - Use character classes for literal meta-characters instead of
escapes.
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
Ever heard of leaning toothpick syndrome? That comes from writing regular expressions that match on characters that are significant in
regular expressions. For example, the expression to match four forward slashes looks like:
m//////;
Well, this policy doesn't solve that problem (write it as "m{////}" instead!) but solves a related one. As seen above, the escapes make
the expression hard to parse visually. One solution is to use character classes. You see, inside of character classes, the only
characters that are special are "", "]", "^" and "-", so you don't need to escape the others. So instead of the following loose IPv4
address matcher:
m/ d+ . d+ . d+ . d+ /x;
You could write:
m/ d+ [.] d+ [.] d+ [.] d+ /x;
which is certainly more readable, if less recognizable prior the publication of Perl Best Practices. (Of course, you should really use
Regexp::Common::net to match IPv4 addresses!)
Specifically, this policy forbids backslashes immediately prior to the following characters:
{ } ( ) . * + ? | #
We make special exception for "$" because "/[$]/" turns into "/[5.008006/" for Perl 5.8.6. We also make an exception for "^" because it
has special meaning (negation) in a character class. Finally, "[" and "]" are exempt, of course, because they are awkward to represent in
character classes.
Note that this policy does not forbid unnecessary escaping. So go ahead and (pointlessly) escape "!" characters.
CONFIGURATION
This Policy is not configurable except for the standard options.
BUGS
Perl treats "m/[#]/x" in unexpected ways. I think it's a bug in Perl itself, but am not 100% sure that I have not simply misunderstood...
This part makes sense:
"#f" =~ m/[#]f/x; # match
"#f" =~ m/[#]a/x; # no match
This doesn't:
$qr = qr/f/;
"#f" =~ m/[#]$qr/x; # no match
Neither does this:
print qr/[#]$qr/x; # yields '(?x-ism:[#]$qr
)'
CREDITS
Initial development of this policy was supported by a grant from the Perl Foundation.
AUTHOR
Chris Dolan <cdolan@cpan.org>
COPYRIGHT
Copyright (c) 2007-2011 Chris Dolan. Many rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license
can be found in the LICENSE file included with this module
perl v5.14.2 20Perl::Critic::Policy::RegularExpressions::ProhibitEscapedMetacharacters(3pm)