Beefy Boxes and Bandwidth Generously Provided by pair Networks Bob
Don't ask to ask, just ask
 
PerlMonks  

Re^6: Sorting names using Regular Expressions and placing them in different Files.

by talexb (Chancellor)
on Jan 03, 2007 at 11:34 UTC ( [id://592787]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


in reply to Re^5:Sorting names using Regular Expressions and placing them in different Files.
in thread Sorting names using Regular Expressions and placing them in different Files.

What are you trying to do?

All I can see is repeated lumps of this data:

-rw-rw-rw- 1 bsmbin bsmbin 303 Dec 3 02:06 BSC-20041202143000 -rw-rw-rw- 1 bsmbin bsmbin 303 Dec 4 23:00 BSC-20041204110000

What transformation are you trying to effect, if any?

Alex / talexb / Toronto

"Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

  • Comment on Re^6: Sorting names using Regular Expressions and placing them in different Files.
  • Download Code

Replies are listed 'Best First'.
Re^7: Sorting names using Regular Expressions and placing them in different Files.
by Kiran Kumar K V N (Initiate) on Jan 03, 2007 at 11:58 UTC

    Hi Alex,

    Let me make it very clear. I have the following data in my Input File as :-

    -rw-rw-rw- 1 bsmbin bsmbin 303 Dec 3 02:06 BSC-20041202143000

    -rw-rw-rw- 1 bsmbin bsmbin 303 Dec 4 23:00 BSC-20041204110000

    Now how do I get the following Output from the above Input File :-

    -rw-rw-rw- 1 bsmbin bsmbin 303 Dec 3 02:06 BSC-20041202143000 -rw-rw-rw- 1 bsmbin bsmbin 303 Dec 3 02:06 20041202143000

    -rw-rw-rw- 1 bsmbin bsmbin 303 Dec 4 23:00 BSC-20041204110000 -rw-rw-rw- 1 bsmbin bsmbin 303 Dec 4 23:00 20041204110000

    That is, in my output File :-

    I should have one Filename as BSC-20041202143000 and the other one printed simultaneously as 20041202143000

    For second one, I should have the Filename as BSC-20041204110000 and the other one as 20041204110000

    How should I go about it ?? Please let me know your valuable view/opinion..

      OK -- so you want to delete the 'BSC-' and display the original, followed by the new version. The following code does that:

      #!/usr/bin/perl -w use strict; { while(<DATA>) { # Read a line, copy it, and delete 'BSC-' in the copy. chomp; my $copy = $_; $copy =~ s/BSC-//; # Print the original line and the copy. print "$_ $copy\n"; } } __DATA__ -rw-rw-rw- 1 bsmbin bsmbin 303 Dec 3 02:06 BSC-20041202143000 -rw-rw-rw- 1 bsmbin bsmbin 303 Dec 4 23:00 BSC-20041204110000

      On my system, it produces the following output:

      -rw-rw-rw- 1 bsmbin bsmbin 303 Dec 3 02:06 BSC-20041202143000 -rw-rw-r +w- 1 bsmbin bsmbin 303 Dec 3 02:06 20041202143000 -rw-rw-rw- 1 bsmbin bsmbin 303 Dec 4 23:00 BSC-20041204110000 -rw-rw-r +w- 1 bsmbin bsmbin 303 Dec 4 23:00 20041204110000

      Now, you've had a bit of a rough time in the Chatter Box lately .. I recommend that, unless you have a quick question, don't bother asking there. Post a node instead, explaining a) what you are trying to do, b) the approaches you've tried and c) where you think you're stuck. Then don't complain your node isn't getting any replies -- that's only going to reduce the chances you'll get replies.

      And when in doubt, make your examples as simple as possible. Trying to wade through

      -rw-rw-rw- 1 bsmbin bsmbin 303 Dec 3 02:06 BSC-20041202143000

      is tough .. I would have suggested just trying to change

      BSC-20041202143000

      to

      20041202143000

      And for that, just reading Learning Perl or a couple of pages on this site should have helped you solve the problem.

      Good luck.

      Alex / talexb / Toronto

      "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

      Try working up a very basic case to narrow down the functionality you are having trouble with. Something like this:

      use strict; use warnings; my $var = "-rw-rw-rw- 1 bsmbin bsmbin 303 Dec 4 23:00 BSC-200412041100 +00 -rw-rw-rw- 1 bsmbin bsmbin 303 Dec 4 23:00 20041204110000"; my ($transformed) = $var=~s/BSC-//; print $var . " " . $transformed . "\n";

      --------------------------------------------------------------

      "If there is such a phenomenon as absolute evil, it consists in treating another human being as a thing."
      John Brunner, "The Shockwave Rider".

        #!/usr/bin/perl -w use strict; use warnings; ## Open I/P File "bsm1_LogFiles" for reading. open(INPUT,'<','bsm1_LogFiles') or die $!; ## Read from the Input File. my $line = <INPUT>; ## Open the O/P File "BSC" for writing. open(BSC,'>','BSC') or die $!; ## Open the O/P File "SBSCSubsystem" for writing. open(SBSCSubsystem,'>','SBSCSubsystem') or die $!; ## Open the O/P File "MCBTSSubsystem" for writing. open(MCBTSSubsystem,'>','MCBTSSubsystem') or die $!; ## Search each Line in the Input File. for my $searchline(<INPUT>) { ## Search for parameter 'BSC-'. if( $searchline =~ /BSC-/) { ## Read a line,copy it,& delete 'BSC-' in copy. chomp; my $copy = $_; $copy =~ s/BSC-//; ## Print the original line and the copy. print "$_ $copy\n"; ## Write to the Output File 'BSC'. my $line = 'BSC'; print BSC $searchline; } ## Search for parameter 'SBSCSubsystem-'. if( $searchline =~ /SBSCSubsystem-/) { ## Read a line,copy it,& delete 'SBSCSubsystem-' in + copy. chomp; my $copy = $_; $copy =~ s/SBSCSubsystem-//; ## Print the original line and the copy. print "$_ $copy\n"; ## Write to the Output File 'SBSCSubsystem'. my $line = 'SBSCSubsystem'; print SBSCSubsystem $searchline; } ## Search for parameter 'MCBTSSubsystem-'. if( $searchline =~ /MCBTSSubsystem-/) { ## Read a line,copy it,& delete 'MCBTSSubsystem-' in c +opy. chomp; my $copy = $_; $copy =~ s/MCBTSSubsystem-//; ## Print the original line and the copy. print "$_ $copy\n"; ## Write to the Output File 'MCBTSSubsystem'. my $line = 'MCBTSSubsystem'; print MCBTSSubsystem $searchline; } } ## Close the O/P File "BSC"; close (BSC) or die $!; ## Close the O/P File "SBSCSubsystem"; close (SBSCSubsystem) or die $!; ## Close the O/P File "MCBTSSubsystem"; close (MCBTSSubsystem) or die $!;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://592787]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.