Sponsored Content
Full Discussion: Shift Question (Perl)
Top Forums Shell Programming and Scripting Shift Question (Perl) Post 302274143 by ifeatu on Tuesday 6th of January 2009 09:34:15 PM
Old 01-06-2009
Shift Question (Perl)

I am attempting to write a script that reads each line of a file into a separate array and does some work on it then puts it all back together and I think I need to use the 'shift()' command to read each line into its own array, but I need help nesting it into a while loop (while not eof)

So here is some of the raw data in the file:

Code:
Vallejo-1991-Jan-20-The_Bride-BLH
Vallejo-1991-Jan-20-The_Bride-BLH
Berkeley-1992-Jan-26-I_Corinth_14-BLH
berkeley-1992-Jan-26-I_Corinth_14-BLH
Union City-1991-July-14-Promises_covenent_of_circumcision-BLH
UC-1991-July-14-Promises_covenent_of_circumcision-BLH

I want the output to replace the Location (Vallejo, etc.) with a consistent syntax (Capital first letter and city spelled out; e.g. Union City, Vallejo, Berkeley, there are only these three locations) AND, more importantly I want to change the Month element into a number (e.g July - 07, Jan -01, unfortunately the abbreviations aren't always consistent, BUT the first three letters usually are (Jul, Jan, Aug, etc.)

So the output of the data above should be:

Vallejo-1991-01-20-The_Bride-BLH
Vallejo-1991-01-20-The_Bride-BLH
Berkeley-1992-01-26-I_Corinth_14-BLH
Berkeley-1992-01-26-I_Corinth_14-BLH
Union City-1991-07-14-Promises_covenent_of_circumcision-BLH
Union City-1991-07-14-Promises_covenent_of_circumcision-BLH

here is what I have so far:
Code:
# Open File containing raw data
open(FILE, "test2.txt") or die("unable to open file");

# read file into an array
@RawData = <FILE>;
close(FILE);
while (<>) {

#read in Folder name
@FileNames = shift(@RawData);

I know how to write the code to split the data into arrays BUT I dont know how to analyze and replace the data...
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

shift command

There is an error when i am trying to use the shift command in this way: ($1 = -d, $2 = 123, $3 = -c etc etc) for $arg in $@ do case $arg in "-d") shift; (so that the $2 will become the $arg now) (and while it loop the 2nd time,) ... (1 Reply)
Discussion started by: AkumaTay
1 Replies

2. Shell Programming and Scripting

shift command

Hi Folks, In shell scripting the maximum no. of command line parameters becomes 9(Am i right). If we want to get more than 9 parameters we use the shift command. Even here there are two possibilities. 1. Without the use of variables - The arguments are lost and the lost no. is equal to the... (6 Replies)
Discussion started by: Nisha
6 Replies

3. Shell Programming and Scripting

Regarding the shift command???

I am running a program where in I have this command which is giving error the shift: number is not correct. can you please tell me how shift actually works? the line which is giving error is- set $PARAM; shift; shift; shift; shift; shift; shift; shift; shift Is it related somewhere to... (2 Replies)
Discussion started by: shrao
2 Replies

4. Shell Programming and Scripting

shift and push question in perl

hi, another perl question, I don't understand the below while (<FILE>) { push @last5, $_; #add to the end shift @last5 if @last5 > 5 ; #take from the beginning } can someone please explain to me how does shift @last5 if @last5 > 5 is taking last 5 lines from... (5 Replies)
Discussion started by: hankooknara
5 Replies

5. UNIX for Dummies Questions & Answers

shift not working

Hi, I wrote one script, in between script needs to use 10th and 11th positional parameters, that time i used "shift". Here i am facing the below find problem, ./DataCount.sh: cannot shift I tried 1) I have read man pages for shift 2) Before but * and ** 3) Simple shift with out giving... (4 Replies)
Discussion started by: Nagapandi
4 Replies

6. Shell Programming and Scripting

script assistance with shift J

Hey all, I need some assistance. I'm writing a script to eject tapes from a tape library, but the library is not a queued system and can only eject 15 tapes at a time. I added paste -d : -s so that it goes through full_tapes and puts each media_id on one line separated by the :. Now I'm... (2 Replies)
Discussion started by: em23
2 Replies

7. UNIX for Dummies Questions & Answers

A Shift into UNIX

Hi, Firstly, I did a search for this question both on this site and on the internet and have not been able to find a suitable answer that is not general in nature. I have always been a Windows user. I use my girl friend's mac every now and then, but I always come back to windows. For a... (1 Reply)
Discussion started by: mearex
1 Replies

8. Shell Programming and Scripting

Use of Shift command

Hello Expert Can any one please explain what is the use of shift command in general terms: set -- $(ls -t) shift rm -Rf $* what is the use of shift command over here. Thanks a lot for your help (2 Replies)
Discussion started by: aks_1902
2 Replies

9. Homework & Coursework Questions

Need help with a Perl Script using Pop, Shift, & Push

Hello everyone, I am new to Perl and I am having some issues getting a script to work. I have to create a script that uses an array of 52 cards, "shuffles" the cards (using loops with the pop, shift, and push commands), and prints out the top five. This is not a randomizing of the array just a... (2 Replies)
Discussion started by: Hax0rc1ph3r
2 Replies

10. Shell Programming and Scripting

Shift command help

#!/bin/bash hostname=$1; shift for hostname in $1 do ping $hostname done I want to run the above script as hostname.sh yahoo.com google.com cnn.com. I want to shift each hostname to $1. How can do that with above code as currently it's not shifting. (5 Replies)
Discussion started by: scj2012
5 Replies
show link(1m)															     show link(1m)

NAME
show link - Displays attribute information about the specified soft link SYNOPSIS
cdscp show link link-name [attribute-name] [with attribute-name = attribute-value] ARGUMENTS
The full name of a specific soft link. The last simple name can contain wildcard characters. The name of a particular attribute; see Description for valid attribute names. The value of a particular attribute. DESCRIPTION
The show link command displays the names and values of the attributes specified in attribute-name. You can use a combination of attributes in any sequence in a single command. Use a space to separate multiple attributes. You can use a with attribute-name = attribute-value clause to limit output only to soft links whose attributes have values equal to the specified values. A space must precede and follow the = (equals sign). If you do not supply any attributes, the command displays all attributes and their values. The following is a description of soft link attributes: Specifies the creation timestamp (CTS) of this soft link Specifies the full name of the directory, object entry, or other soft link to which the soft link points Specifies a timeout value after which the soft link is either checked or deleted Specifies the timestamp of the most recent update to an attribute of the soft link Privilege Required You must have read permission to the soft link. If you specify a wildcard soft link name, you also need read permission to the directory that stores the soft link. NOTE
This command is replaced at Revision 1.1 by the dcecp command and may not be provided in future releases of DCE. EXAMPLE
The following command displays the current values of all the attributes associated with the soft link /.:/sales/region1. cdscp> show link /.:/sales/region1 SHOW SOFTLINK /.../abc.com/sales/region1 AT 1991-10-15-15:54:40 CDS_CTS = 1991-10-15-19:54:35.00000003/08-00-2b-1c-8f-1f CDS_UTS = 1991-10-15-19:54:35.00000006/08-00-2b-1c-8f-1f CDS_LinkTarget = /.../abc.com/sales/service SHOW SOFTLINK /.../abc.com/sales/region1 AT 1991-10-15-15:54:41 CDS_CTS = 1991-10-15-19:54:36.00000077/08-00-2b-1c-8f-1f CDS_UTS = 1991-10-15-19:54:36.00000009/08-00-2b-1c-8f-1f CDS_LinkTarget = /.../abc.com/sales/software CDS_LinkTimeout = : Expiration = 1991-10-15-00:00:00.0 Extension = +1-00:00:00.000 RELATED INFORMATION
Commands: create link(1m), delete link(1m), list link(1m), remove link(1m), set link(1m) show link(1m)
All times are GMT -4. The time now is 07:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy