sed sorting command explanation


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed sorting command explanation
# 1  
Old 03-14-2011
sed sorting command explanation

Code:
 
sed '$!N; /^\(.*\)\n\1$/!P; D'

i found this file which removes duplicates irrespective for sorted or unsorted file. keep first occurance and remove the further occurances.

can any1 explain how this is working..

i need to remove duplicates following file. duplicate criteria is not the complete line, but only first 3 parameters. ie (a,b,c) or (e,r,t)
Code:
 
a,b,c,d
a,b,c,s
e,r,t,y
a,b,c,a
a,b,c,e
e,r,t,y

i need an output like
Code:
 
a,b,c,d
e,r,t,s

taking the first occurance and ignoring the rest.

please help. i am getting nowhere from it.
# 2  
Old 03-15-2011
Do you mean this?
Code:
awk '!++a[$1$2$3]' FS=","

# 3  
Old 03-15-2011
Funny but the above didn't work for me I needed the following:

Code:
awk -F, '!a[$1,$2,$3]++'

Note: extra commas are to avoid false match between "aa,b,c" and "a,ab,c" or ",a,b" and "a,,b"

Last edited by Chubler_XL; 03-15-2011 at 12:34 AM..
This User Gave Thanks to Chubler_XL For This Post:
# 4  
Old 03-15-2011
Code:
 
awk -F, '!a[$1,$2,$3]++' UnixEg.dat

i tried above, but got an error
Code:
a[$1,$2,$3]++': Event not found





guess could be beacause of ! . escaped by \
Code:
 
awk -F, '\!a[$1,$2,$3]++' UnixEg.dat

then got

Code:
awk: syntax error near line 1
awk: bailing out near line 1


am i missing something. trying to run in csh shell.

---------- Post updated at 10:48 PM ---------- Previous update was at 10:39 PM ----------

fixed it though.

changed to ksh shell
and ran this

Code:
 
nawk -F, '!a[$1,$2,$3]++' UnixEg.dat


works superbly.

thanks man.
This User Gave Thanks to mukeshguliao For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed command explanation

Will someone give me an explanation on how the sed command below works. sed 's/.*//' Thanks! (3 Replies)
Discussion started by: scj2012
3 Replies

2. UNIX for Dummies Questions & Answers

Explanation of the sort command

Hi everyone, I am wondering if someone could please break down and explain the following sort command for me: ls ${DEST_LOCATION}/${FILES} | sort -rt -k 4,4n | head -1 I have tried working it out using 'man sort', but on AIX there is not a great explanation of this function. I know that... (9 Replies)
Discussion started by: jimbojames
9 Replies

3. Shell Programming and Scripting

Need explanation a of command in linux

Hi All I ran a script in Linux. In the script i have lines like && echo "Failed: Missing ${CM_ENV_FILE} \n" && return 1 . ${CM_ENV_FILE} Where CM_ENV_FILE = /data/ds/dpr_ebicm_uat//etl/cm3_0/entities/BBME/parameters/cm.env But its taking this path... (1 Reply)
Discussion started by: vee_789
1 Replies

4. UNIX for Advanced & Expert Users

command explanation

can anyone please tell me what does this expression means , i am under probation and need some explanation :) $AUDIT_DIR -type f -mtime +$AUDIT_EXPIRE \ -exec rm {} > /dev/null 2>&1 \; AUDIT_DIR="/var/log/" AUDIT_EXPIRE='30' Please use code tags! (4 Replies)
Discussion started by: semaan
4 Replies

5. UNIX for Dummies Questions & Answers

Explanation of the command sed -n -e 's_.*>\(.*\)<.*_\1_p' filename.xml

Hi Friends, I am trying to modify a script .The script contains this line: sed -n -e 's_.*>\(.*\)<.*_\1_p' filename.xml I am not great in sed command.I know, it is regular expression to match a pattern string that starts with s_ and ends with 1_.I doesnot give the desired result. Can... (4 Replies)
Discussion started by: rajsharma
4 Replies

6. UNIX for Dummies Questions & Answers

SED command explanation

can someone please explain the below sed command.. sed 's/\(*|\)\(.*\)/\2\1/' (6 Replies)
Discussion started by: raghu_shekar
6 Replies

7. Shell Programming and Scripting

Explanation for interesting sed behaviour?

This is my first post so hi to you all. I have browsed these forums in the past and what a great community and resource this is! Thanks to all the contributors ... I look forward to being able to give something back. In the meantime, I have a little conundrum concerning sed. My very simple... (6 Replies)
Discussion started by: Gavster
6 Replies

8. Shell Programming and Scripting

command line explanation

Hello everyone, I found this command line in a website: perl -pi.bak -we's/\z/Your new line\n/ if $. == 2;' your_text_file.txt With this command line you can insert a new line anywhere you want in a text without overwriting what's in it. -p causes perl to assume a loop around your... (4 Replies)
Discussion started by: goude
4 Replies

9. Shell Programming and Scripting

A sed doubt - need explanation

Hi, The following command works fine for me, but I could not grasp the logic working behind of sed command, it's obscure to me :( :confused: echo "./20080916/core/audioex.amr" | sed "s%\(\)/%\1_%g" o/p: ./20080916_core_audioex.amr Could anyone please explain to me in detail, that how... (6 Replies)
Discussion started by: royalibrahim
6 Replies

10. Shell Programming and Scripting

sed command explanation needed

Hi, Could you please explain me the below statement -- phrase wise. sed -e :a -e '$q;N;'$cnt',$D;ba' abc.txt > xyz.txt if suppose $cnt contains value: 10 it copies last 9 lines of abc.txt to xyz.txt why it is copying last 9 rather than 10. and also what is ba and $D over there in... (4 Replies)
Discussion started by: subbukns
4 Replies
Login or Register to Ask a Question