Sponsored Content
Full Discussion: Create range from a list
Top Forums Shell Programming and Scripting Create range from a list Post 302421579 by pseudocoder on Friday 14th of May 2010 09:07:24 PM
Old 05-14-2010
Code:
#!/usr/local/bin/perl

use strict;
use warnings;

my $count=0;
my @arr=();

 my @data = <DATA>;

  foreach my $rec (@data) {
  $count++;
  chomp $rec;

  if ($rec == $data[-1]) {
    if ($rec-1 != $arr[-1]) {
    print "$arr[0]-$arr[-1]\n";
    print "$rec-$rec\n";
    exit;  }
    else {
    push @arr, $rec;
    print "$arr[0]-$arr[-1]\n";
    exit; }
    }

  if ($count == 1) {
  push @arr, $rec; }

  else {
  if ($rec-1 != $arr[-1]) {
  print "$arr[0]-$arr[-1]\n";
  @arr=();
  push @arr, $rec;
  $count=1; }
 
  else {
  push @arr, $rec; }
 }
}

__DATA__
1
2
3
4
5
6
7
12
13
14
15


Last edited by pseudocoder; 05-14-2010 at 10:27 PM.. Reason: optimized operators
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

to get list of files of a perticular range of time

hi, how to list the files which has been created or accessed before 6 months thanks (1 Reply)
Discussion started by: useless79
1 Replies

2. Shell Programming and Scripting

Creating a range out of a broken list

Hi all, I am trying to create a file which has one or more ranges based on a file containing a long list. The problem is that the file which has this list is not continuous and is broken in many places. I will try to illustrate by an example: The List File: 1 2 3 4 5 6 9 10 11 12... (5 Replies)
Discussion started by: run_time_error
5 Replies

3. UNIX for Dummies Questions & Answers

List-to-Range of Numbers

Hello, I have two columns with data that look like this: Col1 Col2 ------ ----- a 1 a 2 a 3 a 4 a 7 a 8 a 9 a 10 a 11 b 6 b 7 b 8 b 9 b 14 (5 Replies)
Discussion started by: Gussifinknottle
5 Replies

4. Shell Programming and Scripting

To Create range of values

Hi, I have a file with the below like values with integers only in sorted order (May or may not be in sequence) Eg: File1.txt ----------- 1 2 3 4 5 6 . . . . . 10000 My requirement here is to create a range of values out put to a temp k (4 Replies)
Discussion started by: shiva447
4 Replies

5. Shell Programming and Scripting

List/Range Todays Log.

Hi All, I am mediator Shell programmer, Just have an hands on experice :-), i am writing a shell scirpt to list logs of todays date from /var/log/messages. I need to ur kind help where if i run this script from cron. the script should filter todays logs only from /var/log/messages. Below... (4 Replies)
Discussion started by: anand.kulkarni
4 Replies

6. Shell Programming and Scripting

Using 'date' to list a range of dates

Hi guys, I have been trying to create a list of dates from a certain range, ie. range from 01011950 to 31122000 But when my below code reaches certain dates, it comes up with a; 'date: invalid date 'yyyy-mm-dd -d 1day' Sofar I have come up with the following, slow and ugly; ... (4 Replies)
Discussion started by: TAPE
4 Replies

7. Shell Programming and Scripting

For Loop Range Create Directories

Hello, I am a bit stumped on this. I am attempting to create 24 empty directories with a loop. Seems like I have incorrect syntax. When I run the following command I get the error below. Command $ for i in {2..24}; do mkdir $i_MAY_2011 ; doneError x 24 mkdir: missing operand Try `mkdir... (2 Replies)
Discussion started by: jaysunn
2 Replies

8. Shell Programming and Scripting

How to create individual entries from a range of numbers?

I want to create entries based on the series as in examples below: Input: 2dat3 grht-5&&-15 3dat3 grht-16&&-30 4dat3 ftht-4&&-12 5sat3 ftht-16&&-20 Output: 2dat3 grht-5 2dat3 grht-6 2dat3 grht-7 2dat3 grht-8 (7 Replies)
Discussion started by: aydj
7 Replies

9. Shell Programming and Scripting

Convert list of numbers to text range

Hi, I'd like to take a list of numbers (with a prefix) and convert to a range, for example: cn001 cn004 cn016 cn017 cn018 cn019 cn020 cn021 cn031 cn032 cn038 cn042 cn043 cn044 cn045 (5 Replies)
Discussion started by: chrissycc
5 Replies

10. Shell Programming and Scripting

TCL script to capture range of lines and create two independent variables

Hi I am having a code as stated below module abcd( a , b , c ,da , fa, na , ta , ma , ra , ta, la , pa ); input a , b, da ,fa , na , ta , ma; output c , ra ,ta , la ,pa ; wire a , b , da , fa ,na , ta , ma; // MBIST Structures... (1 Reply)
Discussion started by: kshitij
1 Replies
DATEFMT_LOCALTIME(3)							 1						      DATEFMT_LOCALTIME(3)

IntlDateFormatter::localtime - Parse string to a field-based time value

	Object oriented style

SYNOPSIS
public array IntlDateFormatter::localtime (string $value, [int &$position]) DESCRIPTION
Procedural style array datefmt_localtime (IntlDateFormatter $fmt, string $value, [int &$position]) Converts string $value to a field-based time value ( an array of various fields), starting at $parse_pos and consuming as much of the input value as possible. PARAMETERS
o $fmt - The formatter resource o $value - string to convert to a time o $position - Position at which to start the parsing in $value (zero-based). If no error occurs before $value is consumed, $parse_pos will contain -1 otherwise it will contain the position at which parsing ended . If $parse_pos > strlen($value), the parse fails immedi- ately. RETURN VALUES
Localtime compatible array of integers : contains 24 hour clock value in tm_hour field EXAMPLES
Example #1 datefmt_localtime(3) example <?php $fmt = datefmt_create( 'en_US', IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN ); $arr = datefmt_localtime($fmt, 'Wednesday, December 31, 1969 4:00:00 PM PT', 0); echo 'First parsed output is '; if ($arr) { foreach ($arr as $key => $value) { echo "$key : $value , "; } } ?> Example #2 OO example <?php $fmt = new IntlDateFormatter( 'en_US', IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/Los_Angeles', IntlDateFormatter::GREGORIAN ); $arr = $fmt->localtime('Wednesday, December 31, 1969 4:00:00 PM PT', 0); echo 'First parsed output is '; if ($arr) { foreach ($arr as $key => $value) { echo "$key : $value , "; } } ?> The above example will output: First parsed output is tm_sec : 0 , tm_min : 0 , tm_hour : 16 , tm_year : 1969 , tm_mday : 31 , tm_wday : 4 , tm_yday : 365 , tm_mon : 11 , tm_isdst : 0 , SEE ALSO
datefmt_create(3), datefmt_format(3), datefmt_parse(3), datefmt_get_error_code(3), datefmt_get_error_message(3). PHP Documentation Group DATEFMT_LOCALTIME(3)
All times are GMT -4. The time now is 08:51 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy