Sponsored Content
Top Forums Shell Programming and Scripting Perl function to sort a file based on key fields Post 302283685 by summer_cherry on Tuesday 3rd of February 2009 10:55:02 PM
Old 02-03-2009
hi, not very clear about your requirement.

Anyway, pls try below and hope can help you some.
Code:
open FH,"<a.txt";
my @arr=<FH>;
sub usersort{
	my @t1=split(" ",$_[0]);
	my @t2=split(" ",$_[1]);
	my $a=sprintf("%s%s%s",$t1[0],$t1[1],$t1[3]);
	my $b=sprintf("%s%s%s",$t2[0],$t2[1],$t2[3]);
	return $a cmp $b;
}
print sort {usersort($a,$b)} @arr;

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need a Help with sort a text file with some fields

Ive got a file called listacdrs with this structure: 01/09/2006 12:13 p.m. 1.046.528 CF0155.DAT 01/09/2006 12:13 p.m. 1.046.528 CF0156.DAT 01/09/2006 12:13 p.m. 1.046.528 CF0157.DAT 01/09/2006 12:13 p.m. 1.046.528 CF0158.DAT 01/09/2006 12:14 p.m. ... (3 Replies)
Discussion started by: alexcol
3 Replies

2. Shell Programming and Scripting

how to replace a text inside a file based on a xml key

<c-param> <param-name>Number</param-name> <param-value>22</param-value> <description>my house number</description> </c-param> <c-param> <param-name>Address</param-name> ... (4 Replies)
Discussion started by: reldb
4 Replies

3. Shell Programming and Scripting

sort function in perl

Hi, here is my perl script.This script creates an array and is sorting it using the in-built sort function in perl. #!/usr/local/bin/perl my number=6; my @num_arr=(1,2,3,4,5); my @array=(23,"$number","Hello",2.345,@num_arr); #printing the array print... (2 Replies)
Discussion started by: DILEEP410
2 Replies

4. UNIX for Dummies Questions & Answers

Sort the fields in a comma delimited file

Hi, I have a comma delimited file. I want to sort the fields alphabetically and again store them in a comma delimited file. For example, My file looks like this. abc,aaa,xyz,xxx,def pqr,ggg,eee,iii,qqq zyx,lmo,pqr,abc,fff and I want my output to look like this, all fields sorted... (3 Replies)
Discussion started by: swethapatil
3 Replies

5. Shell Programming and Scripting

Merge two files based on a 3rd key file

Hi, I want to merge the two files based on the key file's columns. The key file: DATE~DATE HOUSE~IN_HOUSE CUST~IN_CUST PRODUCT~PRODUCT ADDRESS~CUST_ADDR BASIS_POINTS~BASIS_POINTS ... The other 2 files are From_file & To_file - The From_file: DATE|date/time|29|9 ... (9 Replies)
Discussion started by: dips_ag
9 Replies

6. Homework & Coursework Questions

Shell script calling Perl function, sort and find data, write to new files

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: I must write a shell script that calls two external Perl functions--one of which sorts the data in a file, and... (6 Replies)
Discussion started by: kowit010
6 Replies

7. Shell Programming and Scripting

awk sort based on difference of fields and print all fields

Hi I have a file as below <field1> <field2> <field3> ... <field_num1> <field_num2> Trying to sort based on difference of <field_num1> and <field_num2> in desceding order and print all fields. I tried this and it doesn't sort on the difference field .. Appreciate your help. cat... (9 Replies)
Discussion started by: newstart
9 Replies

8. Shell Programming and Scripting

Fetch the values based on a Key using awk from single file

Hi, Please help to fetch the values for a key from below data format in linux. Sample Input Data Format 11055005|PurchaseCondition|GiftQuantity|1 11055005|PurchaseCondition|MinimumPurchase|400 11055005|GiftCatalogEntryIdentifier|Id|207328014 11429510|PurchaseCondition|GiftQuantity|1... (2 Replies)
Discussion started by: mohanalakshmi
2 Replies

9. Shell Programming and Scripting

How to Modify a file content in UNIX and sort for only required fields ?

I have the below contents in a file after making the below curl call curl ... | grep -E "state|Rno" | paste -sd',\n' | grep "Disconnected" > test "state" : "Disconnected",, "Rno" : "5554f1d2" "state" : "Disconnected",, "Rno" : "10587563" "state" : "Disconnected",, "Rno" :... (2 Replies)
Discussion started by: Vaibhav H
2 Replies

10. Shell Programming and Scripting

EBCDIC File Split Based On Record Key

I was wondering if anyone could explain to me how to split a variable length EBCDIC file into seperate files based on the record key. I have the COBOL layout, and so I need to split the file into 13 different EBCDIC files so that I can run each one through a C++ converter I have, and get the... (11 Replies)
Discussion started by: hanshot1stx
11 Replies
CSSORT(1p)						User Contributed Perl Documentation						CSSORT(1p)

NAME
cssort -- Czech sort FORMAT
cssort [ "-c"list | "-f"list ["-d"regexp]] [files ...] SYNOPSIS
cssort -c10-15,50-,25-45 < file cssort -f3,5-6 < file cssort -f3,5-6 -s: < file DESCRIPTION
Cssort is a utility that sorts input lines according to rules used in the Czech language. You can run it without any options, then it just uses whole lines for sorting. With the options, it's possible to specify parts of the lines to be used for comparison. list A comma-separated list of integer field numbers or field ranges. The are indexed from 1 and if a range is open (eg. "5-"), it means all remaining fields from the starting number. -c Stands for columns and the list that follows specifies byte ranges on the line. You will probably use this option to sort data with fixed width fields. -f Fields that will be used for sort. -d Delimiter that separates fields in the -f option. It is a Perl regular expression, the default is "[ ]+", which means any number of spaces or tabs in a row. The program assumes ISO-8859-2 encoding. Some way to specify another input encoding will come in the next versions. If you need to sort files with different encodings, you might want to check the cstocs conversion utility. SEE ALSO
Cz::Sort(3), cstocs(1). AUTHOR
Jan Pazdziora, adelton@fi.muni.cz. perl v5.10.1 2010-01-16 CSSORT(1p)
All times are GMT -4. The time now is 03:59 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy