Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Help to split

by 2teez (Priest)
on Mar 16, 2013 at 05:10 UTC ( #1023810=note: print w/ replies, xml ) Need Help??


in reply to Help to split

Hi semenych,
"...tell me about my mistakes..."

  • First of all, it good practice to use strict and warnings in your scripts.
  • Using the open function in Perl, you should always check the return, in case it fails. The same should goes for the close function
"...and help me this my work.."
After your file was opened, using a "while" loop read your file one at a time. Then use regex, "pick out" the portion of the line you wanted like so:
use warnings; use strict; while (<DATA>) { chomp; print $1, $/ if /:(\w+?)\s\w+?,/; } __DATA__ bsulli03:*:32452:5002:barry sullivan,l230,555-6666,:/students/bsulli03 +:/usr/bin/ksh sbarto22:*:32453:7990:sally bartok,l134,444-3333,:/students/sbarto22:/ +usr/bin/ksh sbarto25:*:32453:7990:sparky bartok,l135,444-4444,:/students/sbarto25: +/usr/bin/ksh sbarto35:*:32453:7990:sammy bartok,l137,444-5555,:/students/sbarto35:/ +usr/bin/ksh sdemar03:*:32454:7990:sally demartra,S23,233-5234,:/students/sdemar03: +/usr/bin/ksh sdemar05:*:32454:7990:bill demartra,l123,555-1234,:/students/sdemar05: +/usr/bin/ksh singl04:*:32455:5002:bart singleton,l134,555-1235,:/students/singl:/us +r/bin/ksh gomez:*:32456:7990:bill gomez,l433,535-6666,:/students/gomez:/usr/bin/ +ksh bolde01:*:32457:7990:bart bolden,l444,444-1234,:/students/bolde:/usr/b +in/ksh reaga09:*:32458:7990:cal reagan,l455,333-1234,:/students/reaga:/usr/bi +n/ksh liu44:*:32460:5002:tom liu,s213,222-1234,:/students/liu:/usr/bin/ksh ulano:*:32462:7990:sally ulanouskay,s233,222-9999,:/students/ulano:/us +r/bin/ksh tran56:*:32463:5002:phuong tran,s111,444-8888,:/students/tran:/usr/bin +/ksh mehr:*:32464:5003:cindy mehr,c113,555-8888,:/students/mehr:/usr/bin/ks +h ramos:*:32449:7990:olivo ramos,l454,999-0000,:/students/ramos:/usr/bin +/ksh brown:*:32459:7990:bart bro,l477,888-7654,:/students/brown:/usr/bin/ks +h mojic:*:32461:7990:celia mojica,c242,555-7654,:/students/mojic:/usr/bi +n/ksh fisher:*:2915:208:cindy fisher,l312,478-0371,:/users/fisher:/usr/bin/k +sh bsulli02:*:32452:5002:bart sullivan,l130,555-5555,:/students/bsulli02: +/usr/bin/ksh
Note:Am assuming that the first names are the names that come first in the full names.
Output:
barry sally sparky sammy sally bill bart bill bart cal tom sally phuong cindy olivo bart celia cindy bart

If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me


Comment on Re: Help to split
Select or Download Code
Re^2: Help to split
by semenych (Initiate) on Mar 17, 2013 at 04:11 UTC

    Thanks,2teez

      Or more simply, without going for exact perl. You could use:
      perl -e 'print `cat file|cut -d "," -f1|cut -d ":" -f5|cut -d " " -f1` +;'
      (Replace file with exact name of your file and/or absolute path). Output: barry sally sparky sammy sally bill bart bill bart cal tom sally phuong cindy olivo bart celia cindy bart
Re^2: Help to split
by semenych (Initiate) on Mar 17, 2013 at 04:15 UTC

    2teez, unfortunately I have not learnt regex yet. Could you please advice how to do it without regexes, maps and other staff, just using one or more split

      "..Could you please advice how to do it without regexes, maps and other staff, just using one or more split.."
      The answer you seek has been given to you in one of the Athanasius's post. Please, check again.

      Hope, this helps

      If you tell me, I'll forget.
      If you show me, I'll remember.
      if you involve me, I'll understand.
      --- Author unknown to me

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1023810]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (6)
As of 2014-08-23 00:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (169 votes), past polls