Sponsored Content
Top Forums Shell Programming and Scripting column to rows based on another column... Post 302331789 by lathavim on Tuesday 7th of July 2009 07:48:34 AM
Old 07-07-2009
The below script will append the values based on barcode. You may need to work on the header records.

Code:
 
val=`head -1 infile1`
grep -v "$val" infile1  >infile
while read record
do
a=`echo $record | cut -d " " -f2`
b=`echo $record | cut -d " " -f3-5`
x=`grep $a outfile | cut -d " " -f1`
if test "$x" -ne "$a"
then
echo $a $b >>outfile
else
sed "s/.*$x.*/& $b/" outfile >tmp
mv tmp outfile
fi
done<infile

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

merge rows based on a common column

Hi guys, Please guide me if you have a solution to this problem. I have tried paste -s but it's not giving the desired output. I have a file with the following content- A123 box1 B345 bat2 C431 my_id A123 service C431 box1 A123 my_id I need two different outputs- OUTPUT1 A123... (6 Replies)
Discussion started by: smriti_shridhar
6 Replies

2. Shell Programming and Scripting

how to delete duplicate rows based on last column

hii i have a huge amt of data stored in a file.Here in this file i need to remove duplicates rows in such a way that the last column has different data & i must check for greatest among last colmn data & print the largest data along with other entries but just one of other duplicate entries is... (16 Replies)
Discussion started by: reva
16 Replies

3. UNIX for Dummies Questions & Answers

Extracting rows from a text file based on the first column

I have a tab delimited text file where the first column can take on three different values : 100, 150, 250. I want to extract all the rows where the first column is 100 and put them into a separate text file and so on. This is what my text file looks like now: 100 rs3794811 0.01 0.3434 100... (1 Reply)
Discussion started by: evelibertine
1 Replies

4. Shell Programming and Scripting

join rows based on the column values

Hi, Please help me to convert the input file to a new one. input file: -------- 1231231231 3 A 4561223343 0 D 1231231231 1 A 1231231231 2 A 1231231231 4 D 7654343444 2 A 4561223343 1 D 4561223343 2 D the output should be: -------------------- 1231231231 3#1#2 A 4561223343 0 D... (3 Replies)
Discussion started by: vsachan
3 Replies

5. UNIX for Dummies Questions & Answers

Remove duplicate rows when >10 based on single column value

Hello, I'm trying to delete duplicates when there are more than 10 duplicates, based on the value of the first column. e.g. a 1 a 2 a 3 b 1 c 1 gives b 1 c 1 but requires 11 duplicates before it deletes. Thanks for the help Video tutorial on how to use code tags in The UNIX... (11 Replies)
Discussion started by: informaticist
11 Replies

6. UNIX for Dummies Questions & Answers

merging rows into new file based on rows and first column

I have 2 files, file01= 7 columns, row unknown (but few) file02= 7 columns, row unknown (but many) now I want to create an output with the first field that is shared in both of them and then subtract the results from the rest of the fields and print there e.g. file 01 James|0|50|25|10|50|30... (1 Reply)
Discussion started by: A-V
1 Replies

7. Shell Programming and Scripting

Printing rows based on column range

Hello, I have a file with nearly 57K lines. I want to filter the lines based on the range of values in a column. For e.g. print lines whose 3rd filed is >=0.02. Input file: LOC_Os09g32030 LOC_Os02g18880 0.0200037219149773 undirected NA NA LOC_Os03g58630 LOC_Os09g35690 ... (1 Reply)
Discussion started by: Sanchari
1 Replies

8. Shell Programming and Scripting

Choosing rows based on column values

I have a .csv file: A,B,0.6 C,D,-0.7 D,E,0.1 A,E,0.45 D,G, -0.4 I want to select rows based on the values of the 3rd columns such that it is >=0.5 or <= -0.5 Thanks. A,B,0.6 D,G, -0.7 (1 Reply)
Discussion started by: Sanchari
1 Replies

9. Shell Programming and Scripting

Remove duplicate rows based on one column

Dear members, I need to filter a file based on the 8th column (that is id), and does not mather the other columns, because I want just one id (1 line of each id) and remove the duplicates lines based on this id (8th column), and does not matter wich duplicate will be removed. example of my file... (3 Replies)
Discussion started by: clarissab
3 Replies

10. UNIX for Beginners Questions & Answers

Merging rows based on same ID in First column.

Hellow, I have a tab-delimited file with 3 columns : BINPACKER.13259.1.p2 SSF48239 BINPACKER.13259.1.p2 PF13243 BINPACKER.13259.1.p2 G3DSA:1.50.10.20 BINPACKER.13259.2.p2 SSF48239 BINPACKER.13259.2.p2 PF13243 BINPACKER.13259.2.p2 G3DSA:1.50.10.20... (7 Replies)
Discussion started by: anjaliANJALI
7 Replies
makedbm(1M)						  System Administration Commands					       makedbm(1M)

NAME
makedbm - make a dbm file, or get a text file from a dbm file SYNOPSIS
makedbm [-b] [-l] [-s] [-E] [-i yp_input_file] [-o yp_output_name] [-d yp_domain_name] [-m yp_master_name] [-S delimiter] [-D num- ber_of_delimiters] infile outfile makedbm [-u dbmfilename] DESCRIPTION
The makedbm utility takes the infile and converts it to a pair of files in ndbm format (see ndbm(3C)), namely outfile.pag and outfile.dir. Each line of the input file is converted to a single dbm record. All characters up to the first TAB or SPACE form the key, and the rest of the line is the data. If a line ends with `' (backslash), the data for that record is continued on to the next line. makedbm does not treat `#' (pound-sign) as a special character. Because makedbm is mainly used in generating dbm files for the NIS name service, it generates a special entry with the key yp_last_modi- fied, which is the date of infile (or the current time, if infile is `-'). The entries that have keys with the prefix yp_ are interpreted by NIS server utilities. OPTIONS
The following options are supported: -b Insert the YP_INTERDOMAIN into the output. This key causes ypserv(1M) to use DNS for host name and address lookups for hosts not found in the maps. -d yp_domain_name Create a special entry with the key yp_domain_name. -D number_of delimiters Specify number_of_delimiters to skip before forming the key. -E Delimiters are escaped. -i yp_input_file Create a special entry with the key yp_input_file. -l Lower case. Convert the keys of the given map to lower case, so that, for example, host name matches succeed inde- pendent of upper or lower case distinctions. -m yp_master_name Create a special entry with the key yp_master_name. If no master host name is specified, yp_master_name is set to the local host name. -o yp_output_name Create a special entry with the key yp_output_name. -s Secure map. Accept connections from secure NIS networks only. -S delimiter Specify the delimiter to use instead of the default delimiter for forming the key. -u dbmfilename Undo a dbm file. Prints out the file in text format, one entry per line, with a single space separating keys from values. OPERANDS
The following operands are supported: infile Input file for makedbm. If infile is `-' (dash), the standard input is read. outfile One of two output files in ndbm format: outfile.pag and outfile.dir. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
ypserv(1M), ndbm(3C), attributes(5) SunOS 5.10 17 Aug 1999 makedbm(1M)
All times are GMT -4. The time now is 10:01 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy