Sponsored Content
Full Discussion: convoluted code
The Lounge War Stories convoluted code Post 302666535 by jgt on Wednesday 4th of July 2012 04:13:33 PM
Old 07-04-2012
convoluted code

Hi,
I have been thinking of how to script this but i have no clue at all..
Could someone please help me out or give me some idea on this?
I would like to group those lines with the same first variable in each line, joining the 2nd variables with commas.
Let's say i have the following input.
Code:
aa c1
aa c2
aa c3
cc d1
dd e1
dd e2
ee f1

I would like the output to be like this.
Code:
aa c1,c2,c3
cc d1
dd e1,e2
ee f1

Could this be easily done with bash script?
Or should i try perl script then?
I'm a beginner in bash script and perl.
Thank you.

***************************
Try this

Code:
first="Y"                
while read a b           
do                       
if [ "$first"  =  "Y"  ] 
then                     
   first="N"             
   prev=$a               
   echo "$a $b\c"        
else                     
if [ "$a" != "$prev" ]   
then                     
   echo "\n$a $b\c"      
   prev=$a               
else                     
   echo ",$b\c"          
fi                       
fi                       
done

This assumes that the input file is sorted.

********************************************************
Sorry.. don't understand..
what is a, b , F ..?
Anyway i found a short solution.
${input} is the filename for the input file.
Code:
for m in `cat ${input} | awk '{print $1}' | sort | uniq `
do
        var=`grep "^${m} " ${output} | awk '{print $2}' | tr '\n' ',' | sed '$s/,$//'`
        echo "${m} ${var}"
done

These 2 Users Gave Thanks to jgt For This Post:
 

6 More Discussions You Might Find Interesting

1. Programming

how i prepare a c++ code(c code) for implementing my own protocol format

helo my protocol format is given below { destno,mode,no.of packet,pktsize,,pktno,textsize,CRC} description:- { is starting flag destno - 4bytes mode - 1 byte no.of pkt - 4byes pktsize - 6 bytes ... (1 Reply)
Discussion started by: amitpansuria
1 Replies

2. Shell Programming and Scripting

translate ksh code to csh code

hi all, Can any 1 help me translate this korn shell code to C shell code : email=$(grep "^$1" $folder/config_2.txt | awk '{print $2'}) In config_2.txt the content is : which mean in korn shell , $1=groupname and $2=email address. Now i need to write in C shell script,when i set the... (2 Replies)
Discussion started by: proghack
2 Replies

3. UNIX for Dummies Questions & Answers

If ‘922’ Code does not exist on ‘03’ Record, ‘901’ Code will be there instead, move ‘03’ R

01,011600033,011600033,110516,0834,2,90,,2/ 02,011600033,011103093,1,110317,0834,,2/ 03,105581,,015,+00000416418,,,901,+00000000148,,,922,+000000 00354,,/ 03,113806,,015,+00000559618,,,901,+00000000096,,,922,+000000 00621,,/ 88,902,+0000000025218,,/... (1 Reply)
Discussion started by: sgoud
1 Replies

4. Shell Programming and Scripting

Block of code replacement in Java source code through Unix script

Hi, I want to remove the following code from Source files (or replace the code with empty.) from all the source files in given directory. finally { if (null != hibernateSession && hibernateSession.isOpen()) { //hibernateSession.close(); } } It would be great if the script has... (2 Replies)
Discussion started by: hareeshram
2 Replies

5. Linux

Go to a line of code , skip few lines of code

Hi , I have a code where i am using a infinite while loop . some thing like below while do if then #go to line 20 fi command 1; command 2; #line 20: sleep 34; (5 Replies)
Discussion started by: Paarth
5 Replies

6. UNIX for Advanced & Expert Users

Trying to use a convoluted for loop with VLC and Parallel or OpenMPI with no success. Help?

I have about 12,000,000 mod files I'm trying to turn into a test of "unlimited cloud storage" by running them all through VLC and blowing them into mp3 files. I can get this to work serially but when trying to use openMPI or Parallel, something in the syntax is tripping it up some. Here is an... (1 Reply)
Discussion started by: sparticus414
1 Replies
JE::Code(3pm)						User Contributed Perl Documentation					     JE::Code(3pm)

NAME
JE::Code - ECMAScript parser and code executor for JE SYNOPSIS
use JE; $j = new JE; $code = $j->compile('1+1'); # returns a JE::Code object $code->execute; METHODS
$code->execute($this, $scope, $code_type); The "execute" method of a parse tree executes it. All the arguments are optional. The first argument will be the 'this' value of the execution context. The global object will be used if it is omitted or undef. The second argument is the scope chain. A scope chain containing just the global object will be used if it is omitted or undef. The third arg indicates the type of code. 0 or undef indicates global code. 1 means eval code (code called by JavaScript's "eval" function, which has nothing to do with JE's "eval" method, which runs global code). Variables created with "var" and function declarations inside eval code can be deleted, whereas such variables in global or function code cannot. A value of 2 means function code, which requires an explicit "return" statement for a value to be returned. If an error occurs, "undef" will be returned and $@ will contain the error message. If no error occurs, $@ will be a null string. $code->set_global( $thing ) You can transfer a JE::Code object to another JavaScript environment by setting the global object this way. You can also set it to "undef", if, for instance, you want to serialise the compiled code without serialising the entire JS environment. If you do that, you'll need to set the global object again before you can use the code object. FUNCTIONS
JE::Code::add_line_number($message, $code_object, $position) WARNING: The parameter list is still subject to change. This routine append a string such as 'at file, line 76.' to the error message passed to it, unless it ends with a line break already. $code_object is a code object as returned by JE's or JE::Parser's "parse" method. If it is omitted, the current value of $JE::Code::code will be used (this is set while JS code is running). If $JE::Code::code turns out to be undefined, then $message will be returned unchanged (this is subject to change; later I might make it use Carp to add a Perl file and line number). $position is the position within the source code, which will be used to determine the line number. If this is omitted, $JE::Code::pos will be used. EXPORTS
"add_line_number" can optionally be exported. SEE ALSO
JE perl v5.14.2 2012-03-18 JE::Code(3pm)
All times are GMT -4. The time now is 11:30 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy