04-06-2010
Sort 2 columns numerically
Hi,
A basic query. In the example file below, I want to sort by column 1 and then by column 2 numerically. I have tried sort -k2n,1 file1 but while this sorts the columns in the correct order, it does not sort column 2 numerically. Any help would be much appreciated. Also, if you have time to jot a few notes on how the command works, that would be great too!
Thank you
example file1:
Chr1, 10, A
Chr1, 1, C
Chr2, 2, G
Chr1, 2, T
Chr2, 10, C
output request:
Chr1, 1, C
Chr1, 2, T
Chr1, 10, A
Chr2, 2, G
Chr2, 10, C
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hello, I am new in UNIX
I am looking for a instrction to sort a file by columns 6,25 and 41
this is what I tried but not getting the correct result:
sort -t= -k1.6,1.25,1.41 to_sort.txt > sorted.txt
I used -t= just to get the whole line as one field.
INVS80993596SUM994338602XX... (1 Reply)
Discussion started by: murbina
1 Replies
2. UNIX for Dummies Questions & Answers
Hi all.
I have 2 files like this:
f1
A 10
B 80
C 9
f2
A 11
B 700
C 10
What I want is the concatenation of the two files sorted by name (alphabetically) and size (numerically), so the result should be like this:
F3 (cat f1 f2 sorted)
A 10
A 11
B 80
B 700 (2 Replies)
Discussion started by: mrodrig
2 Replies
3. Shell Programming and Scripting
Hello all:
i have list with the following format
Id Name Iid Value
0x4440001 customerCode 44077
0x11d2a PrimaryAddress 57.217.41.201
0x129fa ... (15 Replies)
Discussion started by: mogabr
15 Replies
4. Shell Programming and Scripting
I got a long list of file name.
My input:
data_1.txt
data_2.txt
data_3.txt
data_10.txt
data_21.txt
data_12.txt
data_4.txt
My desired output:
data_1.txt
data_2.txt
data_3.txt
data_4.txt
data_10.txt
data_12.txt
data_21.txt
Does anybody got idea how to archive it? (11 Replies)
Discussion started by: patrick87
11 Replies
5. UNIX for Dummies Questions & Answers
Hi, I am trying to sort a file first by the string column, then by the number column.
file:
xyz1 2
xyzX 4
xyz2 1
xyz13 3
xyz11 5
xyz13 10
xyz1 1
xyz10 1
xyz4 2
result should be
xyz1 1
xyz1 2 ... (3 Replies)
Discussion started by: fargo
3 Replies
6. Shell Programming and Scripting
Hello,
I have this sample data:
01 * * * *
01 * * * *
01 * * * *
01 * * * *
01 0 * * *
01 0 * * *
01 0 * * *
01 0 * * *
02 * * * 0
02 * * * 0
02 * * * 6
02 * * * 6
02 0 * * 1
02 0 * * 1
02 0 * * 2
02 0 * * 2
02 0 * * 3 (3 Replies)
Discussion started by: gio001
3 Replies
7. Shell Programming and Scripting
Greetings - I'm not necessarily new to bash scripting - I'm probably between beginner and intermediate, but I have something that I just cannot figure out after many attempts to find it. I have a file that is merely a list of many files, with their respective paths, and a branch path (ClearCase)... (5 Replies)
Discussion started by: 1cor29
5 Replies
8. UNIX for Dummies Questions & Answers
Hello,
I have a text file that looks like this and I need a bash script to:
12:48:32 PM 002* OUT 000418
01:10:34 PM 002* ONL 000418
01:49:17 PM 001* OUT 000364
01:52:09 PM 001* ONL 000364
...
The fields are: 12-hour format time, some number, state (online, offline) and another... (2 Replies)
Discussion started by: Ravendark
2 Replies
9. UNIX for Dummies Questions & Answers
Hello all,
I have a list of file names in a text document where each file name consists of 4 letters and 3 numbers (for example MACR119). There are 48 file names in the document (they are not in alphabetical or numerical order). I would like to reorder the list of names so that the 48th name is... (3 Replies)
Discussion started by: MDeBiasse
3 Replies
10. UNIX for Beginners Questions & Answers
Trying to sort a bunch of files numerically but can't seem to get the command just right. This is in a IBM AIX machine.
I have a directory that has...
backup.bk1
backup.bk100
backup.bk2
backup.bk200
backup.bk3
backup.bk300
There are a lot more files but this is shortened for the... (5 Replies)
Discussion started by: c3rb3rus
5 Replies
comm(1) General Commands Manual comm(1)
NAME
comm - Compares two sorted files.
SYNOPSIS
comm [-123] file1 file2
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
command: XCU5.0
Refer to the standards(5) reference page for more information about industry standards and associated tags.
OPTIONS
Suppresses output of the first column (lines in file1 only). Suppresses output of the second column (lines in file2 only). Suppresses
output of the third column (lines common to file1 and file2).
The command comm -123 produces no output.
OPERANDS
A pathname of the first file to be compared. If file1 is a hyphen (-), the standard input is used. A pathname of the second file to be
compared. If file2 is a hyphen (-), the standard input is used.
If both file1 and file2 refer to standard input or to the same FIFO special, block special or character special file, the results are unde-
fined.
DESCRIPTION
The comm command reads file1 and file2 and writes three columns to standard output, showing which lines are common to the files and which
are unique to each.
The leftmost column of standard output includes lines that are in file1 only. The middle column includes lines that are in file2 only.
The rightmost column includes lines that are in both file1 and file2.
If you specify a hyphen (-) in place of one of the file names, comm reads standard input.
Generally, file1 and file2 should be sorted according to the collating sequence specified by the LC_COLLATE environment variable. (See
sort(1).) If the input files are not sorted properly, the output of comm might not be useful.
EXIT STATUS
Successful completion. Error occurred.
EXAMPLES
In the following examples, file1 contains the following sorted list of North American cities:
Anaheim Baltimore Boston Chicago Cleveland Dallas Detroit Kansas City Milwaukee Minneapolis New York Oakland Seattle Toronto
The second file, file2, contains this sorted list:
Atlanta Chicago Cincinnati Houston Los Angeles Montreal New York Philadelphia Pittsburgh San Diego San Francisco St. Louis
To display the lines unique to each file and common to the two files, enter: comm file1 file2
This command results in the following output: Anaheim Atlanta Baltimore Boston Chicago Cincinnati Cleveland Dal-
las Detroit Houston Kansas City Los Angeles Milwaukee Minneapolis Montreal New York Oakland Philadel-
phia Pittsburgh San Diego San Francisco Seattle St. Louis Toronto
The leftmost column contains lines in file1 only, the middle column contains lines in file2 only, and the rightmost column contains
lines common to both files. To display any one or two of the three output columns, include the appropriate flags to suppress the
columns you do not want. For example, the following command displays columns 1 and 2 only: comm -3 file1 file2
Anaheim
Atlanta Baltimore Boston
Cincinnati Cleveland Dallas Detroit
Houston Kansas City
Los Angeles Milwaukee Minneapolis
Montreal Oakland
Philadelphia
Pittsburgh
San Diego
San Francisco Seattle
St. Louis Toronto
The following command displays output from only the second column: comm -13 file1 file2
Atlanta Cincinnati Houston Los Angeles Montreal Philadelphia Pittsburgh San Diego San Francisco St. Louis
The following command displays output from only the third column: comm -12 file1 file2
Chicago New York
SEE ALSO
Commands: cmp(1), diff(1), sdiff(1), sort(1), uniq(1)
comm(1)