Copying corresponding entries based on search


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Copying corresponding entries based on search
# 8  
Old 04-12-2011
Hi Sam,

try this:
Code:
awk 'NR==FNR{a[$1" "$2]=$4" "$5}NR>FNR{if(a[x]) {print NF?$0: a[x]"\n""object class: trs\n"} else {print $0};if(/^cn:/) x=$0}' FS="[, ]" file2 file1

Best,

Y
# 9  
Old 04-12-2011
Hi Y,
Output file is same as the file1. No changes are being made.

Thanks,
Sam
# 10  
Old 04-12-2011
Hi Sam,

The below is output I generated, it looks fine.

Best,

Y

Code:
awk 'NR==FNR{a[$1" "$2]=$4" "$5}NR>FNR{if(a[x]) {print NF?$0: a[x]"\n""object class: trs\n"} else {print $0};if(/^cn:/) x=$0}' FS="[, ]" file2 file1
# entry-id: 100
cn: test@test1.com
abc: 111
def: 222
xyz: 333
id: 1111
object class: trs
# entry-id: 101
cn: test@test2.com
abc: 111
def: 222
xyz: 334
id: 2222
object class: trs
# entry-id: 102
cn: test@test3.com
abc: 111
def: 222
xyz: 335
id: 3333
object class: trs
# entry-id: 102-2
cn: test@test02-2.com
abc: 111
def: 222
xyz: 335
# entry-id: 103
cn: test@test4.com
abc: 111
def: 222
xyz: 336
id: 4444
object class: trs
# entry-id: 104
cn: test@test5.com
abc: 111
def: 222
xyz: 337
id: 5555
object class: trs
# entry-id: 104-2
cn: test@test04-4.com
abc: 111
def: 222
xyz: 337

# 11  
Old 04-12-2011
Y,
I am nawk and below is the output that I am getting.
Code:
# entry-id: 100
cn: test@test1.com
abc: 111
def: 222
xyz: 333
 
# entry-id: 101
cn: test@test2.com
abc: 111
def: 222
xyz: 334
 
# entry-id: 102
cn: test@test3.com
abc: 111
def: 222
xyz: 335
 
# entry-id: 102-2
cn: test@test02-2.com
abc: 111
def: 222
xyz: 335
 
# entry-id: 103
cn: test@test4.com
abc: 111
def: 222
xyz: 336
 
# entry-id: 104
cn: test@test5.com
abc: 111
def: 222
xyz: 337
 
# entry-id: 104-2
cn: test@test04-4.com
abc: 111
def: 222
xyz: 337

Thanks,
Sam
# 12  
Old 04-12-2011
I'm using gawk, that might be the reason,
I'm not sure where is the problem, but you can try the below code, see if it works. if not, maybe other people using nawk, can help you. Sorry for this.

Best,

Y

Code:
 awk 'NR==FNR{a[$1" "$2]=$4" "$5}NR>FNR{if(length(a[x])>0) {print NF?$0: a[x]"\n""object class: trs\n"} else {print $0};if(/^cn:/) x=$0}' FS="[, ]" file2 file1

# 13  
Old 04-12-2011
I am getting the same output again. I cannot use gawk. Appriciate all your help.

Thanks,
Sam
# 14  
Old 04-21-2011
toupper in the awk

Hi Y,

How can I use toupper in the same script. I have a problem with the current script. The CN entry in file2 is always in capitol. The same CN entry in file1 may be in capitol lettors or small lettors. current script is working only if the CN value in file1 is in CAPS. How can we do this?


Thanks in advance,
Srikanth
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Copying files to directories based on first 6 character

guys, i did create a script but its too long, though it function the same. # cat nightlyscan.sh #!/usr/ksh deyt=`date +"%Y-%m-%d"` for i in `ls -lrt|grep $deyt|awk '{print $9}'` do cp -f $i /S1/Sophos/logger/ done # but i did not paste it all. this is the desired. (9 Replies)
Discussion started by: kenshinhimura
9 Replies

2. UNIX for Dummies Questions & Answers

Copying a file based on a incremented folder name

I need to routinely cp a file out of the highest incremented folder named PROD_2_6.1_xxx where xxx (3 numerical values) is incremented only once a night starting at 100 and ending 999 over a period of time. I am not worried about copying a subset of a complete file while it is being created by some... (5 Replies)
Discussion started by: sf_cb
5 Replies

3. Shell Programming and Scripting

Copying section of file based on search criteria

Hi Guru's, I am new to unix scripting. I have a huge file with user details in it(file2) and I have another file with a list of users(file1). Script has to search a user from file1 and get all the associated lines from file2. Example: fiel1: cn=abc cn=DEF cn=xyx File 2: dn:... (10 Replies)
Discussion started by: Samingla
10 Replies

4. Shell Programming and Scripting

Copying lines from multiple logfiles, based on content of the line

d df d d (1 Reply)
Discussion started by: larsk
1 Replies

5. Shell Programming and Scripting

Copying files based on a pattern

Hi All, I need to find and list the last 5 days files in that exact name with "MIM" and copy to another directory. please help me in this there is around 30000 files Thanks Murali (7 Replies)
Discussion started by: 969murali@gmail
7 Replies

6. Shell Programming and Scripting

Search and replace - pattern-based

Hey folks! I am new to shell-scripting, but I have a problem that I would like to solve using a script. I create very large html forms, used for randomized trials. In these forms, each question is supplied with a variable that looks something like this: PROJECT_formNN Where NN is the question... (1 Reply)
Discussion started by: Roevhat
1 Replies

7. SuSE

Search all files based on first and in all listed files search the second patterns

Hello Linux Masters, I am not a linux expert therefore i need help from linux gurus. Well i have a requirement where i need to search all files based on first patterns and after seraching all files then serach second pattern in all files which i have extracted based on first pattern.... (1 Reply)
Discussion started by: Black-Linux
1 Replies

8. Shell Programming and Scripting

Backup script: Copying and removing directories based on list

I am writing a simple backup script, but I cannot figure out how to remove directories that are found in a list. For example: DONT_COPY=" .adobe/ .bin/google-earth " tar -zcvf - * --exclude=$DONT_COPY | openssl des3 -salt -k $1 | dd of=$(hostname)-$(date +%Y%m%d).tbz > COPIED Note that... (4 Replies)
Discussion started by: dotancohen
4 Replies

9. UNIX for Dummies Questions & Answers

copying files from one location to another based on a list

I have a text list of about 3,000 file names (image files), which exist on a server and that I want to copy over to another location. I understand the Unix cp code, but what's the string to have it copy multiple files based on an external list? Many thanks! (4 Replies)
Discussion started by: rebornhonest
4 Replies

10. Shell Programming and Scripting

column based search

Hi, I need to search one file based on the entry from another; eg. file1 has entries; 45654 34768 12345 File2 has entries 23234 somestring 4312 45654 somestring 34768 12345 somestring 45654 so I need to pick first entry in file1 which eg. '45654' and... (8 Replies)
Discussion started by: user_007
8 Replies
Login or Register to Ask a Question