Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Merging rows based on same ID in First column. Post 303037790 by RudiC on Tuesday 13th of August 2019 01:20:37 PM
Old 08-13-2019
Try also
Code:
awk -F"[|       ]" '
$2 ~ /^PF/ &&
PF[$1] !~ $2    {PF[$1] = PF[$1] DLP[$1] $2
                 DLP[$1] = "," 
                }
NF > 2          {for (i=3; i<=NF; i++) if (GO[$1] !~ $i)        {GO[$1] = GO[$1] DLG[$1] $i
                                                                 DLG[$1] = ","
                                                                }
                }
END             {for (p in PF)  {print p, PF[p], GO[p]?GO[p]:"NA"
                                 delete GO[p]
                                }
                 for (g in GO)   print g, "NA", GO[g]
                }
' OFS="\t" file
BINPACKER.13259.2.p2    PF13243    NA
BINPACKER.31705.4.p1    PF00176,PF00271    GO:0005524
BINPACKER.9719.7.p1     PF00443,PF02148    GO:0016579,GO:0036459,GO:0008270,GO:0000245,GO:0006397
BINPACKER.13259.1.p2    PF13243    NA
BINPACKER.937.4.p1      NA       GO:0003700,GO:0006355,GO:0003677

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

merging column from two files based on identifier

Hi, I have two files consisting of two columns. So I want to merge column 2 if column 1 is the same. So heres an example of what I mean. FILE1 driver 444 car 333 hat 222 FILE2 driver 333 car 666 hat 999 So I want to merge the column 2's together so... (4 Replies)
Discussion started by: phil_heath
4 Replies

2. Shell Programming and Scripting

column to rows based on another column...

Guys, i have a file in below format where the barcode's are uniq per site but could be repeated for different site. so i want to convert the site column to rows based on the barcode's as below output. your help is appreciated!!! input: SITE BARCODE QTY SP CP 10001 6281103890017 10 50 48... (5 Replies)
Discussion started by: malcomex999
5 Replies

3. Shell Programming and Scripting

Merging 2 files based on a common column

Hi All, I do have 2 files file 1 has 4 tab delimited columns 234 a c dfgyu 294 b g fih 302 c h jzh 328 z c san 597 f g son File 2 has 2 tab delimted columns 234 23 302 24 597 24 I want to merge file 2 with file 1 based on the data common in both files which is the first column so... (6 Replies)
Discussion started by: Lucky Ali
6 Replies

4. Shell Programming and Scripting

merging two files based on first column

I had two files file1 and file2. I want a o/p file(file3) like below using first column as ref. Pls give suggestion ass join is not working as the number of lines in each file is nealry 5 C? file1 --------------------- 404000324810001 Y 404000324810004 N 404000324810008 Y 404000324810009 N... (1 Reply)
Discussion started by: p_sai_ias
1 Replies

5. Shell Programming and Scripting

Merging rows with same column 1 value

I have the following space-delimited input: 1 11.785710 117.857100 1 15 150 1 20 200 1 25 250 3 2.142855 21.428550 3 25 250 22 1.071435 10.714350 The first field is the ID number, the second field is the percentage of the total points that the person has and the third column is the number... (3 Replies)
Discussion started by: mdlloyd7
3 Replies

6. Shell Programming and Scripting

Merging columns based on one or more column in two files

I have two files. FileA.txt 30910 rs7468327 36587 rs10814410 91857 rs9408752 105797 rs1133715 146659 rs2262038 152695 rs2810979 181843 rs3008128 182129 rs3008131 192118 rs3008170 FileB.txt 30910 1.9415219673 0 36431 1.3351312477 0.0107191428 36587 1.3169171182... (2 Replies)
Discussion started by: genehunter
2 Replies

7. 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

8. UNIX for Dummies Questions & Answers

Merging lines based on one column

Hi, I have a file which I'd like to merge lines based on duplicates in one column while keeping the info for other columns. Let me simplify it by an example: File ESR1 ANASTROZOLE NA FDA_approved ESR1 CISPLATIN NA FDA_approved ESR1 DANAZOL agonist NA ESR1 EXEMESTANE NA FDA_approved... (3 Replies)
Discussion started by: JJ001
3 Replies

9. UNIX for Dummies Questions & Answers

File merging based on column patterns

Hello :) I am in this situation: Input: two tab-delimited files, `File1` and `File2`. `File2` (`$2`) has to be parsed by patterns found in `File1` (`$1`). Expected output: tab-delimited file, `File3`. `File3` has to contain the same rows as `File2`, plus the corresponding value in... (5 Replies)
Discussion started by: dovah
5 Replies

10. UNIX for Beginners Questions & Answers

Merging multiple lines into single line based on one column

I Want to merge multiple lines based on the 1st field and keep into single record. SRC File: AAA_POC_DB.TAB1 AAA_POC_DB.TAB2 AAA_POC_DB.TAB3 AAA_POC_DB.TAB4 BBB_POC_DB.TAB1 BBB_POC_DB.TAB2 CCC_POC_DB.TAB6 OUTPUT ----------------- 'AAA_POC_DB','TAB1','TAB2','TAB3','TAB4'... (10 Replies)
Discussion started by: raju2016
10 Replies
Pilot(3)						User Contributed Perl Documentation						  Pilot(3)

       Commands include:

       Notice! This information is out of date, and potentially quite misleading.

       PDA::Pilot::Appointment::Unpack(buffer)
	   Returns hash reference containing appointment (datebook entry) in a usable format, given a record from a .pdb file or a Pilot database.

       PDA::Pilot::Appointment::Pack(buffer)
	   Given a hash reference in the form that the previous call generates, returns a single string suitable for storing in a Pilot's
	   database.

       PDA::Pilot::Appointment::UnpackAppInfo(buffer)
	   Returns hash reference containing appointment (datebook entry) in a usable format, given the AppInfo record from a .pdb file or a Pilot
	   database.

       PDA::Pilot::Appointment::PackAppInfo(buffer)
	   Given a hash reference in the form that the previous call generates, returns a single string suitable for storing in a Pilot's database
	   AppInfo block.

       PDA::Pilot::Memo::Unpack(buffer)
	   Returns hash reference containing appointment (datebook entry) in a usable format, given a record from a .pdb file or a Pilot database.

       PDA::Pilot::Memo::Pack(buffer)
	   Given a hash reference in the form that the previous call generates, returns a single string suitable for storing in a Pilot's
	   database.

       PDA::Pilot::Memo::UnpackAppInfo(buffer)
	   Returns hash reference containing appointment (datebook entry) in a usable format, given the AppInfo record from a .pdb file or a Pilot
	   database.

       PDA::Pilot::Memo::PackAppInfo(buffer)
	   Given a hash reference in the form that the previous call generates, returns a single string suitable for storing in a Pilot's database
	   AppInfo block.

       PDA::Pilot::ToDo::Unpack(buffer)
	   Returns hash reference containing appointment (datebook entry) in a usable format, given a record from a .pdb file or a Pilot database.

       PDA::Pilot::ToDo::Pack(buffer)
	   Given a hash reference in the form that the previous call generates, returns a single string suitable for storing in a Pilot's
	   database.

       PDA::Pilot::ToDo::UnpackAppInfo(buffer)
	   Returns hash reference containing appointment (datebook entry) in a usable format, given the AppInfo record from a .pdb file or a Pilot
	   database.

       PDA::Pilot::ToDo::PackAppInfo(buffer)
	   Given a hash reference in the form that the previous call generates, returns a single string suitable for storing in a Pilot's database
	   AppInfo block.

       PDA::Pilot::Address::Unpack(buffer)
	   Returns hash reference containing appointment (datebook entry) in a usable format, given a record from a .pdb file or a Pilot database.

       PDA::Pilot::Address::Pack(buffer)
	   Given a hash reference in the form that the previous call generates, returns a single string suitable for storing in a Pilot's
	   database.

       PDA::Pilot::Address::UnpackAppInfo(buffer)
	   Returns hash reference containing appointment (datebook entry) in a usable format, given the AppInfo record from a .pdb file or a Pilot
	   database.

       PDA::Pilot::Address::PackAppInfo(buffer)
	   Given a hash reference in the form that the previous call generates, returns a single string suitable for storing in a Pilot's database
	   AppInfo block.

       PDA::Pilot::Mail::Unpack(buffer)
	   Returns hash reference containing appointment (datebook entry) in a usable format, given a record from a .pdb file or a Pilot database.

       PDA::Pilot::Mail::Pack(buffer)
	   Given a hash reference in the form that the previous call generates, returns a single string suitable for storing in a Pilot's
	   database.

       PDA::Pilot::Mail::UnpackAppInfo(buffer)
	   Returns hash reference containing appointment (datebook entry) in a usable format, given the AppInfo record from a .pdb file or a Pilot
	   database.

       PDA::Pilot::Mail::PackAppInfo(buffer)
	   Given a hash reference in the form that the previous call generates, returns a single string suitable for storing in a Pilot's database
	   AppInfo block.

       PDA::Pilot::Socket::socket(domain, type, protocol)
	   Same as pi-link routine called pi_socket.

       PDA::Pilot::Socket::close(socket)
	   Same as pi-link routine called pi_close.

       PDA::Pilot::Socket::write(socket, string)
	   Same as pi-link routine called pi_write.

       PDA::Pilot::Socket::read(socket, len)
	   Same as pi-link routine called pi_write (returns read data as result.)

       PDA::Pilot::Socket::listen(socket, backlog)
	   Same as pi-link routine called pi_listen.

       PDA::Pilot::Socket::bind(socket, sockaddr)
	   Same as pi-link routine called pi_bind. Sockaddr may either be a packed string containing a pi_sockaddr structure, or a hash reference
	   containing "device", "family", and "port" keys.

       PDA::Pilot::Socket::accept(socket)
	   Same as pi-link routine called pi_accept. If connection is successfull, returns reference to hash containing remote address, as
	   described above. If failed, returns undef.

       PDA::Pilot::DLP::errno()
	   Returns last DLP error, resetting error to zero.

       PDA::Pilot::DLP::GetSysDateTime(socket)
	   Same as DLP call dlp_GetSysDateTime. If successfull, returns time, otherwise returns undef.

       PDA::Pilot::DLP::SetSysDateTime(socket, time)
	   Same as DLP call dlp_SetSysDateTime. time must be a time_t value.

       PDA::Pilot::DLP::ReadSysInfo(socket)
	   Same as DLP call dlp_ReadSysInfo. If successfull, returns reference to hash containing system information.

       PDA::Pilot::DLP::ReadStorageInfo(socket, cardno)
	   Same as DLP call dlp_ReadStorageInfo. If successfull, returns reference to hash containing information on given memory card.

       PDA::Pilot::DLP::ReadUserInfo(socket)
	   Same as DLP call dlp_ReadUserInfo. If successfull, returns reference to hash containing information about user settings.

       PDA::Pilot::DLP::WriteUserInfo(socket, info)
	   Same as DLP call dlp_WriteUserInfo. info must be a reference to a hash containing data similar to that returned by ReadUserInfo (Note:
	   the password can not be set through this call.)

       PDA::Pilot::DLP::OpenDB(socket, cardno, mode, name)
	   Same as DLP call dlp_OpenDB. If successfull returns database handle, otherwise returns undef.

       PDA::Pilot::DLP::CloseDB(socket, handle)
	   Same as DLP call dlp_CloseDB.

       PDA::Pilot::DLP::EndOfSync(socket, status)
	   Same as DLP call dlp_EndOfSync.

       PDA::Pilot::DLP::AbortSync(socket)
	   Same as DLP call dlp_AbortSync.

       PDA::Pilot::DLP::MoveCategory(socket, handle, fromcat, tocat)
	   Same as DLP call dlp_MoveCategory.

       PDA::Pilot::DLP::ResetSystem(socket)
	   Same as DLP call dlp_ResetSystem.

       PDA::Pilot::DLP::OpenConduit(socket)
	   Same as DLP call dlp_OpenConduit.

       PDA::Pilot::DLP::AddSyncLogEntry(socket, message)
	   Same as DLP call dlp_AddSyncLogEntry

       PDA::Pilot::DLP::CleanUpDatabase(socket, handle)
	   Same as DLP call dlp_CleanUpDatabase.

       PDA::Pilot::DLP::ResetSyncFlags(socket, handle)
	   Same as DLP call dlp_ResetSyncFlags.

       PDA::Pilot::DLP::ResetDBIndex(socket, handle)
	   Same as DLP call dlp_ResetDBIndex.

       PDA::Pilot::DLP::ResetLastSyncPC(socket)
	   Same as DLP call dlp_ResetLastSyncPC.

       PDA::Pilot::DLP::DeleteCategory(socket, handle, category)
	   Same as DLP call dlp_DeleteCategory.

       PDA::Pilot::DLP::DeleteRecord(socket, handle, all, id)
	   Same as DLP call dlp_DeleteRecord.

       PDA::Pilot::DLP::ReadDBList(socket, cardno, flags, start)
	   Same as DLP call dlp_ReadDBList. If successfull, returns reference to hash containing DB information. If failed, returns undef.

       PDA::Pilot::DLP::FindDBInfo(socket, cardno, flags, name, type, creator)
	   Same as DLP call dlp_FindDBInfo. If successfull, returns reference to hash containing DB information. If failed, returns undef.

       PDA::Pilot::DLP::ReadFeature(socket, creator, number)
	   Same as DLP call dlp_ReadFeature. If successfull, returns feature value. If failed, returns undef.

       PDA::Pilot::DLP::ReadAppBlock(socket, handle)
	   Same as DLP call dlp_ReadAppBlock. If successfull, returns app block. If failed, returns undef.

       PDA::Pilot::DLP::ReadSortBlock(socket, handle)
	   Same as DLP call dlp_ReadSortBlock. If successfull, returns app block. If failed, returns undef.

       PDA::Pilot::DLP::WriteAppBlock(socket, handle, block)
	   Same as DLP call dlp_WriteAppBlock.

       PDA::Pilot::DLP::WriteSortBlock(socket, handle, block)
	   Same as DLP call dlp_WriteSortBlock.

       PDA::Pilot::DLP::ReadOpenDBInfo(socket, handle)
	   Same as DLP call dlp_ReadOpenDBInfo.

       PDA::Pilot::DLP::ReadRecordByIndex(socket, handle, index)
	   Same as DLP call dlp_ReadRecordByIndex. If call fails, it returns undef.  Otherwise, in scalar context it returns the read record, in
	   array it returns the record, id, index, attr, and category, in that order.

       PDA::Pilot::DLP::ReadRecordById(socket, handle, id)
	   Same as DLP call dlp_ReadRecordById. If call fails, it returns undef.  Otherwise, in scalar context it returns the read record, in
	   array it returns the record, id, index, attr, and category, in that order.

       PDA::Pilot::DLP::ReadNextModifiedRec(socket, handle)
	   Same as DLP call dlp_ReadNextModifiedRec. If call fails, it returns undef.  Otherwise, in scalar context it returns the read record, in
	   array it returns the record, id, index, attr, and category, in that order.

       PDA::Pilot::DLP::ReadNextRecInCategory(socket, handle, category)
	   Same as DLP call dlp_ReadNextRecInCategory. If call fails, it returns undef.  Otherwise, in scalar context it returns the read record,
	   in array it returns the record, id, index, attr, and category, in that order.

       PDA::Pilot::DLP::ReadNextModifiedRecInCategory(socket, handle, category)
	   Same as DLP call dlp_ReadNextModifiedRecInCategory. If call fails, it returns undef.  Otherwise, in scalar context it returns the read
	   record, in array it returns the record, id, index, attr, and category, in that order.

       PDA::Pilot::DLP::WriteRecord(socket, handle, record, id, attr, category)
	   Same as DLP call dlp_WriteRecord.

       PDA::Pilot::DLP::ReadResourceByType(socket, handle, type, id)
	   Same as DLP call dlp_ReadResourceByType. If call fails, it returns undef.  Otherwise, in scalar context it returns the read record, in
	   array it returns the record, type, id, and index, in that order.

       PDA::Pilot::DLP::ReadResourceByIndex(socket, handle, index)
	   Same as DLP call dlp_ReadResourceByIndex. If call fails, it returns undef.  Otherwise, in scalar context it returns the read record, in
	   array it returns the record, type, id, and index, in that order.

       PDA::Pilot::DLP::WriteResource(socket, handle, record, type, id)
	   Same as DLP call dlp_WriteResource.

       PDA::Pilot::DLP::DeleteResource(socket, handle, all, type, id)
	   Same as DLP call dlp_DeleteResource.

       PDA::Pilot::DLP::CallApplication(socket, creator, type, action, data)
	   Same as DLP call dlp_CallApplication.

       PDA::Pilot::File::open(name)
	   Same as pi_file_open. Returns a PDA::Pilot::File object on success.

       PDA::Pilot::File::close(file)
	   Same as pi_file_close.

       PDA::Pilot::File::get_app_info(file)
	   Same as pi_file_get_app_info.

       PDA::Pilot::File::get_sort_info(file)
	   Same as pi_file_get_sort_info.

       PDA::Pilot::File::get_entries(file)
	   Same as pi_file_get_entries.

       PDA::Pilot::File::read_resource(file, index)
	   Same as pi_file_read_resource. Returns (record, type, id, index).

       PDA::Pilot::File::read_record(file, index)
	   Same as pi_file_read_record. Returns (record, id, index, attr, category).

       PDA::Pilot::File::read_record_by_id(file, type, id)
	   Same as pi_file_read_record_by_id. Returns (record, id, index, attr, category).

       PDA::Pilot::File::create(name, info)
	   Same as pi_file_create. Info is reference to hash containg dbinfo data.

       PDA::Pilot::File::get_info(file)
	   Same as pi_file_get_info.

       PDA::Pilot::File::set_info(file, info)
	   Same as pi_file_set_info.

       PDA::Pilot::File::set_app_info(file, data)
	   Same as pi_file_set_app_info.

       PDA::Pilot::File::set_sort_info(file, data)
	   Same as pi_file_set_sort_info.

       PDA::Pilot::File::append_resource(file, data, type, id)
	   Same as pi_file_append_resource.

       PDA::Pilot::File::append_record(file, data, attr, category, id)
	   Same as pi_file_append_record.

       PDA::Pilot::File::install(file, socket, cardno)
	   Same as pi_file_install.

       PDA::Pilot::File::retrieve(file, socket, cardno)
	   Same as pi_file_retrieve.

perl v5.12.1							    2006-05-31								  Pilot(3)
All times are GMT -4. The time now is 05:54 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy