How to append a string by comparing another string?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to append a string by comparing another string?
# 1  
Old 02-13-2013
How to append a string by comparing another string?

Hi ,
I have one file like
Code:
BUD,BDL BUDCAR
BUD,BDL BUDLAMP
ABC,CDF,KLT ABISKAR
ABC,CDF,KLT CORNEL
ABC,CDF,KLT KANNAD
JKL,HNM,KTY,KJY JAGAN
JKL,HNM,KTY,KJY HOUSE
JKL,HNM,KTY,KJY KATAK
JKL,HNM,KTY,KJY KOLKA


The o/p should be like
Code:
BUD,BDL BUDCAR,BUDLAMP
ABC,CDF,KLT ABISKAR,CORNEL,KANNAD
JKL,HNM,KTY,KJY JAGAN,HOUSE,KATAK,KOLKA


Last edited by Franklin52; 02-13-2013 at 05:05 AM.. Reason: Please use code tags for data and code samples
# 2  
Old 02-13-2013
Code:
awk     ' {Ar[$1] = Ar[$1](Ar[$1]?",":"")$2}
         END {for (i in Ar) print i, Ar[i]}
        ' file
BUD,BDL BUDCAR,BUDLAMP
JKL,HNM,KTY,KJY JAGAN,HOUSE,KATAK,KOLKA
ABC,CDF,KLT ABISKAR,CORNEL,KANNAD

As you're posting quite some similar questions, why not learn awk/sed/shell yourself?
This User Gave Thanks to RudiC For This Post:
# 3  
Old 02-13-2013
If sorted:
Code:
awk 'p!=$1{if(p)print s; s=$0; p=$1; next}{s=s "," $2} END{print s}' file


Last edited by Scrutinizer; 02-13-2013 at 05:23 AM..
This User Gave Thanks to Scrutinizer For This Post:
# 4  
Old 02-13-2013
Thanks..

Can you please replace the space with pipe(|) in the o/p file?

Code:
BUD,BDL|BUDCAR,BUDLAMP
ABC,CDF,KLT|ABISKAR,CORNEL,KANNAD
JKL,HNM,KTY,KJY|JAGAN,HOUSE,KATAK,KOLKA


Last edited by Scrutinizer; 02-13-2013 at 05:52 AM.. Reason: code tags
# 5  
Old 02-13-2013
Like so?
Code:
awk 'p!=$1{if(p)print s; s=$1 "|" $2; p=$1; next}{s=s "," $2} END{print s}' infile

This User Gave Thanks to Scrutinizer For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Append a particular string after occurrence of particular string.

Hi Friends, Good morning. Appended a particular string after occurrence of particular string in a file. my file abc.sql as below create or replace function f1(p_cust_no IN VARCHAR) RETURN number IS DECLARE v_country country.customer_tbl%TYPE; begin begin select... (4 Replies)
Discussion started by: ram0106
4 Replies

2. Shell Programming and Scripting

Find string in file and append new string after

Hi All, I'm trying to insert a string into a file at a specific location. I'd like to add a string after the parent::__construct(); in my file. <?php if (! defined('BASEPATH')) exit('No direct script access allowed'); class MY_Controller extends CI_Controller { function... (6 Replies)
Discussion started by: jjkilpatrick
6 Replies

3. Shell Programming and Scripting

How to append string checking other same string?

Hi , I have a file likeA-0044150|ABC/Frito/ A-0044150|GFHU A-0150075|Bud Racing A-0187811|Bud Light A-0187811|RW&B signmaking I Want the o/p likeA-0044150|ABC/Frito/,GFHU A-0150075|Bud Racing A-0187811|Bud Light,RW&B signmaking (2 Replies)
Discussion started by: jagdishrout
2 Replies

4. Shell Programming and Scripting

Append a searched string with another string using sed

Hi, I need to replace and append a string in a text if grep is true. For eg: grep ABC test.txt | grep -v '\.$' | awk {'print $4'} | sed "s/ ? How do I replace all instances of "print $4" using sed with another sring? Eg of the string returned will be, lx123 web222 xyz Want to... (8 Replies)
Discussion started by: vchee
8 Replies

5. UNIX for Dummies Questions & Answers

Comparing a String variable with a string literal in a Debian shell script

Hi All, I am trying to to compare a string variable with a string literal inside a loop but keep getting the ./testifstructure.sh: line 6: #!/bin/sh BOOK_LIST="BOOK1 BOOK2" for BOOK in ${BOOK_LIST} do if then echo '1' else echo '2' fi done Please use next... (1 Reply)
Discussion started by: daveu7
1 Replies

6. UNIX for Dummies Questions & Answers

Append a string on the next line after a pattern string is found

Right now, my code is: s/Secondary Ins./Secondary Ins.\ 1/g It's adding a 1 as soon as it finds Secondary Ins. Primary Ins.: MEDICARE B DMERC Secondary Ins. 1: CONTINENTAL LIFE INS What I really want to achieve is having a 1 added on the next line that contain "Secondary Ins." It... (4 Replies)
Discussion started by: newbeee
4 Replies

7. Shell Programming and Scripting

Problem in comparing 2 files string by string

Hi Champs, I am a newbie to unix world, and I am trying to built a script which seems to be far tough to be done alone by me..... " I am having a raw csv file which contains around 50 fields..." From that file I have to grep 2 fields "A" and "B"....field "A" is to be aligned vertically... (11 Replies)
Discussion started by: jitendra.pat04
11 Replies

8. Programming

string comparing in C

Hello, I need help with a program I'm trying to write for my moms science class, what it has to do is accept a user inputed string and search for it in a text file (file contains all the elements) The file looks like: H Hydrogen 1 He Helium 2 Li Lithium 3 Be Beryllium 4 ... If the... (0 Replies)
Discussion started by: duvalC
0 Replies

9. Programming

string comparing in C

Hello, I need help with a program I'm trying to write for my moms science class, what it has to do is accept a user inputed string and search for it in a text file (file contains all the elements) The file looks like: H Hydrogen 1 He Helium 2 Li Lithium 3 Be Beryllium 4 ... If the... (1 Reply)
Discussion started by: duvalC
1 Replies

10. Shell Programming and Scripting

Search a string and append text after the string

Hi, I have a file like this... <o t="Batch" id="8410" p="/" g="32"> <a n="name"> <v s="DBBA1MM"/> </a> <a n="owner"> <v r="/Administrator"/> </a> <a n="rights"> <v s="95"/> </a> <a n="debugLevel"> <v s="3"/> </a> <a n="avsStoreLoc"> <v... (8 Replies)
Discussion started by: kesu2k
8 Replies
Login or Register to Ask a Question