grep ^M in file using perl script....


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grep ^M in file using perl script....
# 8  
Old 02-05-2008
Question

thanx ghostdog74 for your reply ...

here is the file i am trying to check for presense of ^M. following is the output produced on unix server
Code:
$cat -v texx
hi ^M
what are you
tying to ^M
do
$
$te.pl texx
hi i am
tying to
$
$cat te.pl
#! /usr/bin/perl
while (<>) {
       print if $_ =~ /\cM\n/g;;
}
$

is there any other way of doing this other than using reg-ex ?
# 9  
Old 02-05-2008
this does not work to see if ^M is in the lines on Windows?

Code:
while (<>) {
   print "Line number $. has ^M in it\n" if ($_ =~ /\cM/);
}

If not, maybe there is no ^M in the lines.
# 10  
Old 02-06-2008
i am putting ^M to test my code but it doesnt work on windows i can check for presence of ^M in file on unix but when i transfer the same file on windows with the same perl code ( but perl here is windows version of perl ) it doesnt work .
i have tried following ways to filnd ^M ...( all works on unix but not on windows )
Code:
if ($_ =~ /\cM/) ;
if ($_ =~ /\015/) ;
if ($_ =~ /\x0D/) ;
if ( $_ =~ /^M/ ) ;

lets see if its possible by any other way .... i will post the answer it if i am able to solve this
# 11  
Old 02-06-2008
make sure when you try to simulate ^M,, you don't press Shift 6 then "M". press Ctrl-V then M.
# 12  
Old 02-06-2008
how about: /\r/ to find ^M on windows?
# 13  
Old 02-06-2008
PHP

tried almost everything but nothing seems to work here.

can i check same thing in C ?? i know only basics of C so if can give me some suggesting to check for ^M or ( 015 in octal , 0d in HEX ).

hey i found solution to this by opening file in Binary mode and then looking for '0d' in hex
Code:
@line_array = () ;
open (FILE,"<$ARGV[0]") or die "cant open file :$! \n" ;
while (<FILE>) {
     binmode(FILE) ;
     $line1 = unpack("H*", $_) ;
     #print "[$line1]\n" ;
     if ( $line1 =~ /0d/ )
     {
	push @line_array , $. ; 
     }
}
close FILE ;
print "file has \'cntl-M\' please check\n" if ( ( $len = @line_array ) >= 1 ) ;


Last edited by zedex; 02-07-2008 at 04:38 AM.. Reason: found solution .....
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep the exact process in perl script

I am working on one script where I need to grep the exact process in perl script. for e.g. when I run simple grep command on the linux machine it gives me two process mGateway_mvc_q01 and mGateway_mvc_q01_v7 which is not the correct result.I tried to use ( ps -eAf | grep ^mGateway_mvc_q01$) but... (1 Reply)
Discussion started by: anuragpgtgerman
1 Replies

2. Shell Programming and Scripting

Need a perl script similiar to grep -r 'word' /path/to/dir"

Hi , i am looking for a perl script to grep for a string in all files inside a directory . bash command . grep -r 'word' /path/to/dir Thanks, Nvil (3 Replies)
Discussion started by: nevil
3 Replies

3. Shell Programming and Scripting

shell or perl script using grep and regex

Hi, I have file stored in a directory containing information about subnet mask and next hop address in the following format 10.1.1.0/16, 255.255.0.0, 10.1.1.1 10.1.2.0/16, 255.255.0.0,10.1.2.1 here 10.1.1.0/16 represent range of ip address 10.1.1.1-10.1.1.16 given say an IP address... (1 Reply)
Discussion started by: termeric
1 Replies

4. Programming

Unix grep in perl script

Hello, Fairly simple really I have an xml file and I want to check to see if it contains a pattern. The pattern is "../" On the command line I can type: grep "\.\./" myFile.xml and I get desired result. To do the same thing in a perl script I thought it was as simple as putting the ``... (4 Replies)
Discussion started by: Jaymoney
4 Replies

5. Shell Programming and Scripting

[Solved] perl and grep: get a script to look at more then one file

hi guys i have this very messy script, that looks in /var/log/messages.all for an error and reports if it finds the key works how can i get it to look at more then one file, i.e /var/log/message.all * so it looks in old logs as well thanks exit 0 if (isRenderNode(hostname)); my... (4 Replies)
Discussion started by: ab52
4 Replies

6. Shell Programming and Scripting

Perl - Grep open file more then once.

Hi, I am using File::Find to go through a very large tree. I am looking for all xml files and open only those that contain a tag <Updated>. I then want to capture the contents of two tags <Old> and <New>. My problem is, after I open the file and do the first grep for <Updated> (which does... (3 Replies)
Discussion started by: OldGaf
3 Replies

7. Shell Programming and Scripting

pattern grep using Perl in .TSV file

Hi All, I have a .TSV extension file having ~1 Gig data and I need to grep a pattern in that file using perl. I am not able to read the file using perl any suggestions on this/ If I Change the format my data gets mismangled so I am bothered about using specific format as well. #!... (3 Replies)
Discussion started by: vmsenthil
3 Replies

8. Shell Programming and Scripting

Need to grep 2 words from Perl Script results in Terminal....

Hey guys. I have a .pl script that scans my hosts to see if they are down or up. I can run it anytime I want. The script uses a conf file that contains text lines of the IP addresses of the servers. I run the script from the command line of my terminal (MAC OS) I run: sudo ./scanner.pl brings... (3 Replies)
Discussion started by: yoyoyo777
3 Replies

9. Shell Programming and Scripting

[Help] PERL Script - grep multiple lines

Hi Gurus, I need some help with the "grep" command or whatever command that you think suitable for me. I'm about to write a perl script to extract a report from the system and submit it to the end users. The input for the script will consist of 3 element. 1) Generation ID 2) Month 3) Year... (6 Replies)
Discussion started by: miskin
6 Replies

10. Shell Programming and Scripting

doing grep inside perl file

Hi have one Perl file inside that i am defining at an array file. @temp_vmdk_files = `grep vmdk '$guest_vmx'` where my $guest_vmx=/vmfs/volumes/47e40fec-9c8bb7f7-d076-001422159f8a/BES Exchange/BES-Exchange.vmx and i am just want to do grep of "vmdk" files from the above path but when... (5 Replies)
Discussion started by: bp_vardhaman
5 Replies
Login or Register to Ask a Question