The sort is a prerequisite for uniq which is kind of unfortunate if there is a lot of data.
Using awk,
The array a counts the number of occurrences of each distinct value in the second field. We don't use the actual count of occurrences, just the keys (distinct values in the second field) in the final print, but that's obviously easy to change if you want to see the counts, too.
The array could collect something else than counts; for example, a[$2]=$0 would remember the latest line with a particular value in field $2 for each distinct value in field $2. Collecting more complex data such as all lines with a particular value is doable, but slightly more complex -- you could append to the existing data. But at that point, perhaps just collecting the keys you want, and then doing another round to extract only those records would be more efficient if there is a lot of data.
Hi
I have a pipe delimited file. I am trying to grab the DISTINCT value from the second field. The file is something like:
1233|apple|ron
1234|apple|elephant
1235|egg|man
the output I am trying to get from second field is apple,egg (apple coming only once)
Thanks
simi (4 Replies)
this is a little more complex than that. I have a text file and I need to find all the distinct words that appear in a line after the word TABLESPACE
when I grep for just the word tablespace, I get:
how do i parse this a little better so i have a smaller file to read?
This is just an... (4 Replies)
I am a beginner to scripting, please help me in this regard.
How do I create a script that provides a count of distinct values of all the fields in the pipe delimited file ? I have 20 different files with multiple columns in each file. I needed to write a generic script where I give the number... (1 Reply)
I am a beginner to scripting, please help me in this regard.
How do I create a script that provides a count of distinct values of all the fields in the pipe delimited file ? I have 20 different files with multiple columns in each file. I needed to write a generic script where I give the number... (2 Replies)
Hi guys, I am not an expert in shell and I need help with awk command. I have a file with values like
200 1 1
200 7 2
200 6 3
200 5 4
300 3 1
300 7 2
300 6 3
300 4 4
I need resulting file with averages of... (3 Replies)
Hello everyone,
I am writing a script to process data from the ATP world tour.
I have a file which contains:
t=540 y=2011 r=1 p=N409
t=540 y=2011 r=2 p=N409
t=540 y=2011 r=3 p=N409
t=540 y=2011 r=4 p=N409
t=520 y=2011 r=1 p=N409
t=520 y=2011 r=2 p=N409
t=520 y=2011 r=3 p=N409
The... (4 Replies)
Hi !
input:
A|B|C|D
A|F|C|E
A|B|I|C
A|T|I|B
As the title of the thread says, I would need to get:
1|3|2|4
I tried different variants of this command, but I don't manage to obtain what I need:
gawk 'BEGIN{FS=OFS="|"}{for(i=1; i<=NF; i++) a++} END {for (b in a) print b}' input
... (2 Replies)
Hi,
I have two files of the following format
file1
chr1:345-456
chr2:123-456
chr2:455-678
chr3:456-789
chr3:444-555
file2
chr1:345-456
chr2:123-456
chr3:456-789
output (2 Replies)
Hi,
Please help with this.
I have several excel files (with and .xlsx format) with 10-15 columns each.
They all have the same type of data but the columns are not ordered in the same way.
Here is a 3 column example. What I want to do add the alphabet
from column 2 to column 3, provided... (9 Replies)
Hello Friends,
Hope all are doing fine.
Here is a tricky issue.
my input file is like this
07 10 14 20 21
03 15 27 30 32
01 10 11 19 30
02 06 14 15 17
01 06 20 25 29
Logic:
1. Please print another column as "0-0-0-0-0" for the first and second rows.
2. Read the first column... (4 Replies)