How to sort file with certain criteria (bash)?


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers How to sort file with certain criteria (bash)?
# 1  
Old 05-20-2019
How to sort file with certain criteria (bash)?

I am running a command that is part of a script and this is what I am getting when it is sorted by the command:


command:
Code:
ls /tmp/test/*NDMP*.z

Code:
/tmp/test/CARS-GOLD-NET_CHROMJOB-01-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-01-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-02-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-02-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-03-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-03-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-04-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-04-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-05-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-05-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-06-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-06-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-01-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP-1of4.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP-2of4.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP-3of4.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP-4of4.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP.z

What I am trying to do is get the sort on these files to look like this (see below):
(Right now the EXPOSITION-02 is at the very bottom of the file.)


Code:
/tmp/test/CARS-GOLD-NET_CHROMJOB-01-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-01-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-02-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-02-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-03-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-03-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-04-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-04-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-05-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-05-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-06-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-06-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-01-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP-1of4.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP-2of4.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP-3of4.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP-4of4.z

So what is needed is that EXPOSITION-02-XY_NDMP.z is after 01-XY-NDMP.z.
I have tried the sort command but can't find the right pattern to sort it accordingly.
Does anyone have a suggestion?
# 2  
Old 05-20-2019
How about
Code:
ls -1 /tmp/test/*CH*NDMP*.z; ls  /tmp/test/*EX*NDMP*.z | sort -t- -k1,3 -k6r
/tmp/test/CARS-GOLD-NET_CHROMJOB-01-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-01-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-02-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-02-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-03-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-03-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-04-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-04-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-05-XZ-ARCHIVE-NDMP.z
/tmp/test/CARS-GOLD-NET_CHROMJOB-05-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-01-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP-4of4.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP-3of4.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP-2of4.z
/tmp/test/CARS-GOLD-NET_EXPOSITION-02-XZ-NDMP-1of4.z

This User Gave Thanks to RudiC For This Post:
# 3  
Old 05-20-2019
Works perfectly, thanks!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Insert content from file 1 to file 2 in specific criteria meet

Hi , I'm looking for some code that can copy and paste form file1 to file2 with 2 criterial meet. file1: test "sp-j1" test "sp-j2" test "sp-j3" test "sp-j4" file2: sub Pre_Shorts1 (Status_Code, Message$) global Status !if Message$ <> "" then print... (3 Replies)
Discussion started by: kttan
3 Replies

2. UNIX for Beginners Questions & Answers

Remove lines from File.A based on criteria in File.B

Hello, I have two files of the following form. I would like to remove from File.A where the first three colum matches values in File.B to give the output in File.C File.A 121 54321 PQR CAT 122 765431 ABC DOG 124 98765 ZXY TIGER 125 86432 GEF LION File.B 122 765431 ABC 125 86432 GEF... (4 Replies)
Discussion started by: Gussifinknottle
4 Replies

3. Shell Programming and Scripting

Match based on criteria to file

Trying to match $1 of target.txt to $5 of file.txt. If there is a match then in an output.txt file $1,$1 (row underneath),$6,$4,$7 from file.txt are printed on the same line as $1 of target.txt. The input is from excel and the output should be tab-deliminated. Thank you :). target.txt... (2 Replies)
Discussion started by: cmccabe
2 Replies

4. Shell Programming and Scripting

Bash Retrieve Beginning of file name and sort question

I am trying to look through a directory where the file names are like this: stringnumber_string, and I want to see if I can take the first part of the name and sort it by the number. I tried this: for i in *_; do if; then fileNum=${i%_*}; echo $fileNum fi done but it gives me an error.... (13 Replies)
Discussion started by: totoro125
13 Replies

5. Shell Programming and Scripting

Finding the right file with multiple sort criteria

Hello, I have files in a directory with names like, ./f0/84.40_E1200_85.39_E1300_f0_r00_1300-ON-0.25_S7A_v4_47.19.1.out.txt ./f0/84.40_E1200_85.83_E1200_f0_r00_1200-ON-0.25_S7A_v4_47.19.1.out.txt ./f0/84.60_E1100_86.45_E1100_f0_r00_1100-ON-0.25_S7A_v4_47.19.1.out.txt... (5 Replies)
Discussion started by: LMHmedchem
5 Replies

6. Shell Programming and Scripting

Input file is uncolored; I want the output file to be colored on criteria

Hello, I have the following input file: auditing account: 3DTP (3dtp) ERROR: S3 bucket "aws-origin-test1.3dstage.com" has policy statement with public grant: {"Sid":"PublicReadGetObject","Effect":"Allow","Principal":{"AWS":"*"},"Action":,"Resource":} auditing region: eu-west-1 auditing... (5 Replies)
Discussion started by: ramky79
5 Replies

7. Shell Programming and Scripting

How do a distinct from a file using sort uniq in bash?

I have an output file .dat. From this file i have to do a distinct of the ID using the sort uniq command in bash script. How can i do it? i found : sort -u ${FILEOUT_DAT} but i don't think is my solution because the id isn't specified.. is there other solution? (7 Replies)
Discussion started by: punticci
7 Replies

8. Shell Programming and Scripting

bash script to sort a txt file

I am writing a script to write to and a sort txt file. After I sort the file I want to add 2 to each line of the file. My script thus far is #!/bin/bash cat > /ramdisk/home/stux/unsortedints.out COUNT=0 FILE =/ramdisk/home/stux/unsortedints.out for i in {1..100} do NUMBER = $ echo $NUMBER... (3 Replies)
Discussion started by: puttyirc
3 Replies

9. Shell Programming and Scripting

making a list matching certain criteria in bash...

Hello everyone!I am trying to make a mail list(a simple .txt file)in which i put certain records that match specific criteria. Let's say that i have a(sorted by last column file)like this one: 0100567 Bla1 Lala1 100 1234567 Bla2 Lala2 80 8769029 Bla3 Lala3 70 1001007 ... (0 Replies)
Discussion started by: bashuser2
0 Replies

10. Shell Programming and Scripting

Selecting records from file on criteria.

Can I have 2 files as in input to the awk command? Situation is somewhat below, File A contains number & value delimited by a space. File B contains number as a part of a line. I am not supposed to retrieve more than 1 number from a line. If number from file B matches with number from... (7 Replies)
Discussion started by: videsh77
7 Replies
Login or Register to Ask a Question