Regular Expression to match repeated characters


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Regular Expression to match repeated characters
# 1  
Old 06-23-2009
Regular Expression to match repeated characters

Hello All

I have file which contain sample data like below -

test.txt
----------------------------------------------
jambesh aaa india
trxxx

sdasd
mentor
asss
light
train
bbblah
---------------------------------------------

I want to write a regX which would print only those line which contain patteren like xxx or aaa bbb etc.

When ever the same character repeated atleast 3 times that line should print

Here the output should :
------------------------
jambesh aaa india
trxxx
asss
bbblah

etc.

Any suggestion ?
# 2  
Old 06-23-2009
Quote:
Originally Posted by jambesh
...
When ever the same character repeated atleast 3 times that line should print

Here the output should :
------------------------
jambesh aaa india
trxxx
asss
bbblah
...
Code:
$
$ cat test.txt
jambesh aaa india
trxxx
sdasd
mentor
asss
light
train
bbblah
$
$ perl -ne '/(.)\1\1/ && print' test.txt
jambesh aaa india
trxxx
asss
bbblah
$
$

tyler_durden
# 3  
Old 08-21-2009
Como eliminar datos repetidos en un archivo de texto en perl

I have a file called texto.txt

like this

sil
a
b
c
s
sil
b
a

and i wold like to have this output, a new file like this

sil
a
b
c
s

I want to erase all repeated words, i tried to do it but i couldn't, if somebody can help me i will apreciate (Sorry for my bad english)

Last edited by romanhr; 08-21-2009 at 10:41 PM..
# 4  
Old 08-21-2009
Usted debe utilizar inglés
# 5  
Old 08-22-2009
Con perl no he tratado de hacerlo, voy a ver si te hallo una solución, pero com bash si podrías hacerlo, usando "sort", pero te quedaría ordenado el texto.

Code:
leo@lein:~/Escritorio$ cat file.txt
sil
a
b
c
s
sil
b
a
leo@lein:~/Escritorio$ cat file.txt | sort -u
a
b
c
s
sil
leo@lein:~/Escritorio$

Code:
cat "file.txt" | sort | uniq -u

Code:
#!/usr/bin/perl
use strict;
use warnings;
if(!@ARGV)
{
	print "$0 <file>\n";
	exit(1);
}
open(FILE, q[<], "$ARGV[0]") or die("No se pudo leer el archivo $ARGV[0]\n");
my %seen = ();
while(<FILE>)
{
	$seen{$_}++;
	next if($seen{$_})>1;
	print;
}


Last edited by Leo Gutierrez; 08-22-2009 at 03:37 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Regular expression match

echo 20110101 | awk '{ print match($0,/^((17||18||19||20)|)-*(|0|1)-*(|0||3)$/)) I am getting a match for the above, where as it shouldn't, as there is no hyphen in the echoed date. Another question is what is the difference between || and | in the above statement (4 Replies)
Discussion started by: tostay2003
4 Replies

2. Shell Programming and Scripting

Perl split match regular expression with or

I cannot seem to get this to work correct: my ($k, $v) = split(/F/, $fc{$DIR}{symbolic}, 2); Below is the input (the $fc{$DIR}{symbolic} variable): QMH2562 FW:v5.06.03 DVR:v8.03.07.15.05.09-kbut i also need it to break on FV: Emulex NC553i FV4.2.401.6 DV8.3.5.86.2pthe code above... (2 Replies)
Discussion started by: rusted_planet
2 Replies

3. Homework & Coursework Questions

Regular Expression to match files in Perl

Hi Everybody! I need some help with a regular expression in Perl that will match files named messages, but also files named message.1, message.2 and so on. So really I need one that will find messages and messages that might be followed by a period and a digit without matching other files like... (2 Replies)
Discussion started by: Hax0rc1ph3r
2 Replies

4. Shell Programming and Scripting

matched characters - regular expression

Hi, I read the book of <<unix shell programming>>. The regular expression ^\(.\)\1 matches the first character on the line and stores it in register 1. Then the expression matches whatever is stored in the register 1, as specified by the \1. The net effect of this regular expression is to match... (2 Replies)
Discussion started by: jianma
2 Replies

5. Shell Programming and Scripting

regular expression exact match

hi everyone suppose we have two scenario echo ABCD | grep \{4\} DATE echo SYSDATE | grep \{4\} SYSDATE i want to match the string of four length only please help (5 Replies)
Discussion started by: aishsimplesweet
5 Replies

6. Shell Programming and Scripting

regular expression match

I am trying to match a similar line using grep with regular expression the line is /remote/mac/pbbbb/abc/def/hij/hop/include/abc/tif/element/test/testfiles/Office.cpp:57: const OfficeType& getType().get() const; I just need to extract the bold characters using grep with regular expression.... (5 Replies)
Discussion started by: prasbala
5 Replies

7. Shell Programming and Scripting

regular expression to match repeated appearance

Hi all, I am looking for a regex syntax to match repeated appearance. Likes, ']+]+' matches for string '65A SOME MORE AND 78B' Now, this gets messy if I need to extract all such repeated appearance. I don't want to write ] four or five times for matching repeated appearance. Thanks in... (2 Replies)
Discussion started by: guruparan18
2 Replies

8. Shell Programming and Scripting

Regular expression match

Hi all, any idea how to match the following: char*<no or any string or space> buf and char *<no or any string or space> buf i need to capture the buf characters too. currently i need two checks to cover this: #search char* <any string> buf or char *<any string> buf @noarray =... (2 Replies)
Discussion started by: ChaMeN
2 Replies

9. UNIX for Dummies Questions & Answers

Regular Expression - match 'b' that follows 'a' and is at the end of a string

Hi, I'm struggling with a regex that would match a 'b' that follows an 'a' and is at the end of a string of non-white characters. For example: Line 1: aba abab b abb aab bab baa I can find the right strings but I'm lacking knowledge of how to "discard" the bits that precede bs.... (2 Replies)
Discussion started by: machinogodzilla
2 Replies

10. UNIX for Dummies Questions & Answers

Exact match with regular expression

Hi I have a file with data arranged into columns. The first column is the chromosome name. When I use grep to subset only rows with chr1, I get chr1 but also chr10, chr11,.. How do I get only rows with chr1? grep chr1 filein > fileout head fileout chr1 59757841 chr11 108258691 ... (2 Replies)
Discussion started by: jdhahbi
2 Replies
Login or Register to Ask a Question