Sponsored Content
Top Forums Shell Programming and Scripting PERL : Sort substring occurrences in array of strings Post 302494391 by radoulov on Monday 7th of February 2011 06:32:29 AM
Old 02-07-2011
Code:
perl -le'
  @str = qw( 
  ab% %%abc %ab%c% %a%b%c% ab%c ab%%%%%c ab%%c 
    );
  
  do {
    $cnt = tr/%//; push @{$cnt{$cnt}}, $_;
    $min = $cnt unless defined $min and $cnt > $min;
      }
    for @str;  
  print "Element(s) with the least number of % character => ", 
    join ", ", @{$cnt{$min}};
  '

Output:

Code:
% perl -le'
  @str = qw(
  ab% %%abc %ab%c% %a%b%c% ab%c ab%%%%%c ab%%c
    );

  do {
    $cnt = tr/%//; push @{$cnt{$cnt}}, $_;
    $min = $cnt unless defined $min and $cnt > $min;
      }
    for @str;
  print "Element(s) with the least number of % character => ", join ", ", @{$cnt{$min}};
  '
Element(s) with the least number of % character => ab%, ab%c

These 2 Users Gave Thanks to radoulov For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sort() array of strings in perl

I have a perl script with an array of clients. @arr = ("The ABC Corp", "AA Corp.", "BB Corp"); If I run @a = sort (@arr); I will get @a = ("AA Corp", "BB Corp", "The ABC Corp"); but I want @a = ("AA Corp, "The ABC Corp", "BB Corp"); How do I sort array without changing... (2 Replies)
Discussion started by: photon
2 Replies

2. Shell Programming and Scripting

How to sort lines by substring

Dear all There is a file which contains the following formatted files. I need to sort it by substring(strings after dot) in order to process efficiently. Please give me any idea how to sort it. Sample file: 1AAABBBCCC.20080401 1AAABBBCCC.20080402 2AAABBBCCC.20080401... (3 Replies)
Discussion started by: mr_bold
3 Replies

3. Shell Programming and Scripting

Can we pass an array of strings from a Perl Program to a Shell Script?

Hi Folks, The subject is my question: Can we pass an array of strings from a Perl Program to a Shell Script? Please provide some sample code. Thanks ---------- Post updated at 11:52 PM ---------- Previous update was at 11:43 PM ---------- I got it. Its here:... (0 Replies)
Discussion started by: som.nitk
0 Replies

4. UNIX for Dummies Questions & Answers

Sort after 2. column in array in Perl

Hey How do I sort an array numerically after the second column? My values are integers like 1, 2, 3, 4... and they are not unique, so I can't just reverse my hash and sort by keys. I wanna sort my file/array so that I get the lines with the highest value in the top - that is descending. ... (2 Replies)
Discussion started by: Banni
2 Replies

5. Shell Programming and Scripting

perl sort array by field

Hi Everyone, Any simple code can simplify the code below, please advice. Thanks # cat 2.pl #!/usr/bin/perl use warnings; use strict; my @aaaaa = <DATA>; my @uids; foreach (@aaaaa) { my @ccccc = split (",", $_); push @uids, $ccccc;... (3 Replies)
Discussion started by: jimmy_y
3 Replies

6. UNIX for Dummies Questions & Answers

Print number of occurrences of many different strings

People, I need your help with making a script which will 1. take as an input the number of lines, smth like this: ((RUBROBACTER_1_PE1288 (((SALINISPORA_1_PE1863 SALINISPORA_1_PE1828)100 ((NOCARDIOIDES_2_PE2419 PROPIONIBACTERIUM_1_PE1395)96 ((((((((CORYNEBACTERIUM_1_PE1119... (3 Replies)
Discussion started by: roussine
3 Replies

7. Shell Programming and Scripting

how many occurrences of different strings are there in each FILE.

Hello , I need some help to pull the data from different files, simultaneously for the string provided. I want to search below strings. PTN:3763427632478 IDB:3298734287438 PTN:8734983298738 From the files BELOW CODE_FILE_LOG1 CODE_FILE_LOG2 CODE_FILE_LOG3 CODE_FILE_LOG4 (3 Replies)
Discussion started by: baraghun
3 Replies

8. UNIX for Dummies Questions & Answers

Replace all occurrences of strings with parentheses

Hi, I tried to adapt bartus's solution to my problem, without success. I want to replace all the occurences of this: with: , where something can contain an arbitrary number of balanced parens and brakets. Any ideas ? Best, (1 Reply)
Discussion started by: ff1969ff1969
1 Replies

9. Linux

How to sort the number of occurrences

file:///C:/Users/TSHEPI%7E1.LEB/AppData/Local/Temp/moz-screenshot.pngATM@ubuntu:~$ cat numbers2 | sort -n | uniq -c 1 7 1 11 2 10 3 the 1st numbers are the counts from the command "uniq -c", which represent the number of occurrences of each in the file. The "sort -n"... (4 Replies)
Discussion started by: lebogot
4 Replies

10. Shell Programming and Scripting

GREP between last occurrences of two strings

Hi I have the server.log file as: Server Stopped ABC DEF GHI JKL Server Started MNO PQR STU Server Stopped VWX YZ ABC Server Started Server Stopped 123 456 789 (9 Replies)
Discussion started by: ankur328
9 Replies
SPLITI(3)								 1								 SPLITI(3)

spliti - Split string into array by regular expression case insensitive

SYNOPSIS
array spliti (string $pattern, string $string, [int $limit = -1]) DESCRIPTION
Splits a $string into array by regular expression. This function is identical to split(3) except that this ignores case distinction when matching alphabetic characters. Warning This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged. PARAMETERS
o $pattern - Case insensitive regular expression. If you want to split on any of the characters which are considered special by regular expressions, you'll need to escape them first. If you think spliti(3) (or any other regex function, for that matter) is doing something weird, please read the file regex.7, included in the regex/ subdirectory of the PHP distribution. It's in manpage for- mat, so you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it. o $string - The input string. o $limit - If $limit is set, the returned array will contain a maximum of $limit elements with the last element containing the whole rest of $string. RETURN VALUES
Returns an array of strings, each of which is a substring of $string formed by splitting it on boundaries formed by the case insensitive regular expression $pattern. If there are n occurrences of $pattern, the returned array will contain n+1 items. For example, if there is no occurrence of $pattern, an array with only one element will be returned. Of course, this is also true if $string is empty. If an error occurs, spliti(3) returns FALSE. EXAMPLES
This example splits a string using 'a' as the separator : Example #1 spliti(3) example <?php $string = "aBBBaCCCADDDaEEEaGGGA"; $chunks = spliti ("a", $string, 5); print_r($chunks); ?> The above example will output: Array ( [0] => [1] => BBB [2] => CCC [3] => DDD [4] => EEEaGGGA ) NOTES
Note As of PHP 5.3.0, the regex extension is deprecated in favor of the PCRE extension. Calling this function will issue an E_DEPRECATED notice. See the list of differences for help on converting to PCRE. Tip spliti(3) is deprecated as of PHP 5.3.0. preg_split(3) with the i ( PCRE_CASELESS) modifier is the suggested alternative. SEE ALSO
preg_split(3), split(3), explode(3), implode(3). PHP Documentation Group SPLITI(3)
All times are GMT -4. The time now is 01:49 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy