Sorting


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sorting
# 1  
Old 02-10-2016
Sorting

I do sort on the date and Time chronologically, how can I make the NIL to be below in the output

Input file:

Code:
KT NIL NIL
ZK 02/09/2016 18:11
CD NIL NIL
AS 02/09/2016 18:22
AB 02/08/2016 18:17
VA 02/09/2016 18:50
CX 02/09/2016 18:10

Code:
sort -b -k 2.9,2.10 -k 2.1,2.2 -k 2.4,2.5 -k 3,3 file
KT NIL NIL
CD NIL NIL 
AB 02/08/2016 18:17
CX 02/09/2016 18:10
ZK 02/09/2016 18:11
AS 02/09/2016 18:22
VA 02/09/2016 18:50

Desired output:

Code:
AB 02/08/2016 18:17
CX 02/09/2016 18:10
ZK 02/09/2016 18:11
AS 02/09/2016 18:22
VA 02/09/2016 18:50
KT NIL NIL
CD NIL NIL

# 2  
Old 02-10-2016
Try
Code:
LC_ALL=C sort -k 2.6,2.10 -k 2.1,2.2 -k 2.4,2.5 -k 3,3 file

(It fixes a Y3000 problem, and by chance fixes your problem.)
# 3  
Old 02-10-2016
Thank You. I just a found a way out, by piping to awk
Code:
sort -b -k 2.9,2.10 -k 2.1,2.2 -k 2.4,2.5 -k 3,3 file | awk '$2~/NIL/{A[NR]=$0;next}{print}END{for (i in A){print A[i]}}

# 4  
Old 02-10-2016
MadeInGermany is right: You need to sort on the entire year; not just the last two digits. But, it isn't a year 3000 problem, it is a year 2100 problem.

Also note that there is no need to sort the month and day separately. So, you should probably change the sort command in your pipeline to:
Code:
LC_ALL=C sort -k 2.6,2.10 -k 2.1,2.5 -k 3,3 file

The following would also work, but I prefer to keep the sort keys distinct to avoid confusion for someone trying to read your code later:
Code:
LC_ALL=C sort -k 2.6,2.10 -k 2,2 -k 3,3 file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sorting help

Hi, Please i need help in writing an 'awk' script in sorting the following data; traceroute6 to 2001:1ba0:2a0:5965:0:30:24:1 (2001:1ba0:2a0:5965:0:30:24:1) from 2001:418:1::62, 64 hops max, 16 byte packets 1 2001:418:1::4 0.342 ms 2 2001:418:1::1 0.630 ms 3 2001:504:16::1b1b 0.393 ms 4... (6 Replies)
Discussion started by: sam127
6 Replies

2. Shell Programming and Scripting

sorting

Hi all, Does anyone can help me the following question? I would like to write an AWK script. In the following input file, each number in "start" is paired with numbers in column "end". No Start End A 22,222,33,22,1233,3232,44 555,333,222,55,1235,3235,66... (7 Replies)
Discussion started by: phoeberunner
7 Replies

3. Shell Programming and Scripting

Sorting HELP

Hi, I have posted related topic but as i continue the research I find more need to sort the data. AS(2607:f278:4101:11:dead:beef:f00f:f), AS786 AS6453 AS7575 AS7922 AS(2607:f2e0:f:1db::16), AS786 AS3257 AS36252 AS786 AS3257 AS36252 AS(2607:f2f8:1700::2), AS786 AS6939 AS25795 ... (6 Replies)
Discussion started by: sam127
6 Replies

4. UNIX for Advanced & Expert Users

HELP on sorting

hi everyone, I am kind of new to this forum. I need help in sorting this data out accordingly, I am actually doing a traceroute application and wants my AS path displayed in front of my address like this; 192.168.1.1 AS28513 AS65534 AS5089 AS5089 .... till the last AS number and if possible... (1 Reply)
Discussion started by: sam127
1 Replies

5. UNIX for Dummies Questions & Answers

HELP on sorting

hi everyone, I am kind of new to this forum. I need help in sorting this data out accordingly, I am actually doing a traceroute application and wants my AS path displayed in front of my address like this; 192.168.1.1 AS28513 AS65534 AS5089 AS5089 .... till the last AS number and if possible... (1 Reply)
Discussion started by: sam127
1 Replies

6. Shell Programming and Scripting

Sorting

Let's say that I have a database that I call part ID. This database has the following grouping: Dart1=4 Dart2=8 Dart3=12 Fork1=68 Fork2=72 Fork3=64 Bike1=28 Bike2=24 Bike3=20 Car1=44 Car2=40 Car3=36 I want to write a program that would read this database and tell me when the... (19 Replies)
Discussion started by: Ernst
19 Replies

7. Homework & Coursework Questions

Sorting help

i have list of files: Wang De Wong CVPR 09.pdf Yaacob AFGR 99 Second edition.pdf Shimon CVPR 01.pdf Den CCC 97 long one.pdf Ronald De Bour CSPP 04.pdf ..... how can i sort this directory so the output will be in the next format: <year>\t<conference/journal>\t<author list> - t is tab (its... (1 Reply)
Discussion started by: nirnir26
1 Replies

8. UNIX for Dummies Questions & Answers

Sorting help

i have list of files: Wang De Wong CVPR 09.pdf Yaacob AFGR 99 Second edition.pdf Shimon CVPR 01.pdf Den CCC 97 long one.pdf Ronald De Bour CSPP 04.pdf ..... how can i sort this directory so the output will be in the next format: <year>\t<conference/journal>\t<author list> - t is tab (its... (1 Reply)
Discussion started by: nirnir26
1 Replies

9. UNIX for Dummies Questions & Answers

Sorting help

how can i sort the next list just by look at the numbers (ignore letters) example: abc123 dff4f aaa2aa bbbb55555bb output: aaa2aa dff4f abc123 bbbb55555bb (1 Reply)
Discussion started by: nirnir26
1 Replies

10. Shell Programming and Scripting

Need immediate help with sorting!!!

hey, I have a file that looks smthng like this: /*--- abcd_0050 ---*/ asdfjk adsfkja lkjljgafsd /*---abcd_0005 ---*/ lkjkljbfkgj ldfksjgf dfkgfjb /*-- abcd_0055--*/ klhfdghd dflkjgd jfdg I would like it to be sorted so that it looks like this: /*---abcd_0005 ---*/ lkjkljbfkgj (9 Replies)
Discussion started by: sasuke_uchiha
9 Replies
Login or Register to Ask a Question