Hey, supergiantpotato (and btw, this list is plain text, not unicode, and most of us don't read Japanese...),
å¤ç¥ãå²©ç· wrote:
On 12/30/2011 09:00 PM, ankush grover wrote:
I am trying to write a shell script which can merge the 2 columns into 3rd one on Centos 5. The file is very long around 31200 rows having around 1370 unique groups and around 12000 unique user-names. The 1st column is the groupname and then 2nd column is the user-name.
1st Column (Groupname) 2nd Column (username) admin ankush admin amit powerusers dinesh powerusers jitendra
<snip>
This will do what you want. But please read the comments in the code.
<snip>
#######BEGIN collator.sh
<snip>
INFILE=${1:?"Input filename missing, please read script comments."} OUTFILE=${2:?"Output filename missing, please read script comments."}
awk '{print $1 ": "}' $INFILE | uniq > $OUTFILE for GROUP in `cat $OUTFILE | cut -d ':' -f 1` do for NAME in `cat $INFILE | grep $GROUP | awk '{print $2}'` do sed -i "s/^$GROUP: /&$NAME,\ /" $OUTFILE done done #######END collator.sh
This is really complicated and fiddly. Look at the one awk script that was posted, which is *far* simpler, and uses awk the way it's intended to be used, not as a replacement for cut....
mark