Sponsored Content
Top Forums Shell Programming and Scripting Unable to get the correct sort order in perl. Post 302525157 by atul9806 on Thursday 26th of May 2011 02:00:08 AM
Old 05-26-2011
you can use this

Code:
%hash;
@arr1 = qw(Dealnum AdminStatus adminReason effFrom effTo);
@arr2 = qw(121212121 YES  1992-06-19T05:14:27 );
@hash{@arr1}=@arr2;
foreach(@arr1){
print "$_ ---- $hash{$_}\n";
}


o/p

Code:
Dealnum ---- 121212121
AdminStatus ---- YES
adminReason ---- 1992-06-19T05:14:27
effFrom ----
effTo ----


you have to do a Null string checking for 'NULL' print

---------- Post updated at 11:30 AM ---------- Previous update was at 11:14 AM ----------

Use this with NULL print
Code:
%hash;
@arr1 = qw(Dealnum AdminStatus adminReason effFrom effTo);
@arr2 = qw(121212121 YES  1992-06-19T05:14:27 );
@hash{@arr1}=@arr2;
foreach(@arr1){
 if ( !defined $hash{$_} || $hash{$_} eq "" )
 {
print "$_ ---- NULL\n";
}
else
{
print "$_ ---- $hash{$_}\n";
}
}

o/p

Code:
Dealnum ---- 121212121
AdminStatus ---- YES
adminReason ---- 1992-06-19T05:14:27
effFrom ---- NULL
effTo ---- NULL


Last edited by pludi; 05-26-2011 at 03:39 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Sort / ascending order

What's the command to sort a file in ascending order and redirect the output to another file? Thanks!!!!!! (1 Reply)
Discussion started by: gyik
1 Replies

2. Shell Programming and Scripting

SORT order in Unix

I am converting mainframes JCL to be used in shell on a one to one basis... when i use the sort command unix does ascii sort as a result which numbers are first followed by charecters in the Ascending sort ... but themainframes uses the EBCDIC as result gives the charecters followed by numbers in... (5 Replies)
Discussion started by: bourne
5 Replies

3. Shell Programming and Scripting

Order text display not correct.

My shell script below for import data to Oracle it run okay. but the text display not correct follow order command executed. =========================Shell Script code================= #!/bin/sh #directory = ${1-'pwd'} #run import data with SQLLoader runSQLLoader() { ... (2 Replies)
Discussion started by: raccsdl
2 Replies

4. UNIX for Dummies Questions & Answers

sort -reverse order

I need to sort the particular column only in reverse order how i can give it.. if i give the -r option the whole file is getting sorted in reverse order. 1st 2nd col 3rd C col 4th col 5th col ------------------------------------------- C... (7 Replies)
Discussion started by: sivakumar.rj
7 Replies

5. Shell Programming and Scripting

Sort numeric order

Hi I am using this cat substitutionFeats.txt | gawk '{$0=gensub(/\t/,"blabla",1);print}' | gawk '{print length, $0}' | sort -n | sort -r and the "sort -n" command doesn't work as expected: it leads to a wrong ordering: 64 Adjustable cuffs 64 Abrasion- 64 Abrasion pas 647 Sanitized 647... (4 Replies)
Discussion started by: louisJ
4 Replies

6. Shell Programming and Scripting

Sort by specific order?

Hello all I was wondering if someone has an idea how to sort by a specific order, let's say by a specific alphabet containing only 4 letters like (d,s,a,p) instead of (a,b,c....z) ?? Cheers! (6 Replies)
Discussion started by: cabrao
6 Replies

7. Shell Programming and Scripting

How to print the output in correct order?

Hi, while using following awk commend I’m getting confused, The output is not like as the row present in input files, can anyone explain and tell me how to print in the order like in input. value=$(awk 'FNR>1 && NR==FNR{a=$4;next} a{sum+=$4} END {for(i in sum){printf i"\t"sum/2"@@";}}'... (5 Replies)
Discussion started by: Shenbaga.d
5 Replies

8. Shell Programming and Scripting

Not able to sort two fields and printf not displaying the correct values

Not able to sorting two fileds resolved printf issue 01-1000/9|JAN 01-0000/6|MAN 01-1010/2|JAN 01-1010/2|JAN 01-1010/2|JAN 01-1000/9|JAN 01-1000/9|JAN 01-1000/9|SAA 01-1000/9|SAA 01-0000/6|SAN 01-0000/6|SAN 1.sort -t'|' -k1,1n -k2,2 file (3 Replies)
Discussion started by: kalia4u
3 Replies

9. UNIX for Beginners Questions & Answers

Sort in chronological order

I am trying to sort a log file in chronological order to identify which ones did not process and still have an old (probably yesterday's) date. This is a sample of the file:flatf 010140 flatf Thu May 10 22:22:11 CST 2018 flats finished flatf 010142 flatf Thu May 10 22:31:25 CST 2018 flats... (4 Replies)
Discussion started by: wbport
4 Replies

10. Shell Programming and Scripting

How to sort list of directories in descending order in perl?

Hi, I have a problem . I have few directories like inpTDT_1, inpTDT_2, inpTDT_3 and so on inside HOME directory . In one of my perl script (which is in my HOME), the above directories like inpTDT_1, inpTDT_2, inpTDT_3 are sorting out in an order So I wanted to sort all the inpTDT_1, inpTDT_2,... (1 Reply)
Discussion started by: venkatesh
1 Replies
STR_SPLIT(3)								 1							      STR_SPLIT(3)

str_split - Convert a string to an array

SYNOPSIS
array str_split (string $string, [int $split_length = 1]) DESCRIPTION
Converts a string to an array. PARAMETERS
o $string - The input string. o $split_length - Maximum length of the chunk. RETURN VALUES
If the optional $split_length parameter is specified, the returned array will be broken down into chunks with each being $split_length in length, otherwise each chunk will be one character in length. FALSE is returned if $split_length is less than 1. If the $split_length length exceeds the length of $string, the entire string is returned as the first (and only) array element. EXAMPLES
Example #1 Example uses of str_split(3) <?php $str = "Hello Friend"; $arr1 = str_split($str); $arr2 = str_split($str, 3); print_r($arr1); print_r($arr2); ?> The above example will output: Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] => F [7] => r [8] => i [9] => e [10] => n [11] => d ) Array ( [0] => Hel [1] => lo [2] => Fri [3] => end ) SEE ALSO
chunk_split(3), preg_split(3), explode(3), count_chars(3), str_word_count(3), for. PHP Documentation Group STR_SPLIT(3)
All times are GMT -4. The time now is 09:35 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy