Sponsored Content
Top Forums Shell Programming and Scripting merge same pattern of same column in one line Post 302690377 by durden_tyler on Thursday 23rd of August 2012 02:05:11 AM
Old 08-23-2012
Quote:
Originally Posted by awil
... I would like to merge the same word in column 1 in one line.

Example :
A1 B1 2
A2 B1 4
A3 B1 7
A1 B2 1
A2 B2 10
A3 B2 8

Expected output :
A1 B1 B2 2 1
A2 B1 B2 4 10
A3 B1 B2 7 8

...
Code:
$
$
$ cat f7
A1 B1 2
A2 B1 4
A3 B1 7
A1 B2 1
A2 B2 10
A3 B2 8
$
$
$ perl -lane 'if (defined $x{$F[0]}) {@{$x{$F[0]}}[1,3] = @F[1,2] }
              else { @{$x{$F[0]}}[0,2] = @F[1,2] }
              END {
                for $k (sort keys %x) { printf ("%s %3s %3s %3d %3d\n", $k, @{$x{$k}}) }
              }' f7
A1  B1  B2   2   1
A2  B1  B2   4  10
A3  B1  B2   7   8
$
$
$

tyler_durden
This User Gave Thanks to durden_tyler For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

compare the column from 3 files and merge that line

I have 3 file, each of has got 80000 records. file1.txt ----------------------- ABC001;active;modify;accept; ABC002;notactive;modify;accept; ABC003;notactive;no-modify;accept; ABC004;active;modify;accept; ABC005;active;no-modify;accept; file2.txt ---------------------------... (8 Replies)
Discussion started by: ganesh_mak
8 Replies

2. Shell Programming and Scripting

merge columns into one line after a specific pattern

Hi all, im a linux newbie, plz help! I have a file - box -------- Fox-2 -------- UF29 zip42 -------- zf-CW SNF2_N Heli_Z -------- Fox -------- Kel_1 box (3 Replies)
Discussion started by: sam_2921
3 Replies

3. UNIX for Dummies Questions & Answers

loop? print max column in each line for 800 files and merge

Hello, I have 800 or so files with 3 columns each and >10000 lines each. For each file and each line I would like to print the maximum column number for each line. Then I would like to 'paste' each of these files together (column-wise) so that the file with expression in label '_1' is the... (6 Replies)
Discussion started by: peanuts48
6 Replies

4. Shell Programming and Scripting

grep based on pattern in a line and print the column before that

$ cat file.log Message Number = : Sending message 10:50:16^|^reqhdr.dummyid^=^02^|^reqhdr.timezone^=^GMT+05:30^|^DUMMYREQUEST^=^BH||||||||||||||||||$BD|OL|C|V||DummyAcctNo|02||24/12/2011|ST_DDM|DDM||||||||reqUUID110612105016$BT||||||||||||||||||$] Length I have the above line in the... (4 Replies)
Discussion started by: kalidass
4 Replies

5. Shell Programming and Scripting

Merge two files line by line and column by column

Hi All, I have two files having oracle query result. I want to merge to files line by line and also with column File1 23577|SYNC TYPE 23578|Order Number|ConnectionState 23585|Service State|Service NameFile2 23577|AR Alarm Sync 23578|A5499|9 23585|7|test_nov7Result... (18 Replies)
Discussion started by: Harshal22
18 Replies

6. Shell Programming and Scripting

Sed: how to merge two lines moving matched pattern to end of previous line

hello everyone, im new here, and also programming with awk, sed and grep commands on linux. In my text i have many lines with this config: 1 1 4 3 1 1 2 5 2 2 1 1 1 3 1 2 1 3 1 1 1 2 2 2 5 2 4 1 3 2 1 1 4 1 2 1 1 1 3 2 1 1 5 4 1 3 1 1... (3 Replies)
Discussion started by: satir
3 Replies

7. Shell Programming and Scripting

Perl removing line match with pattern in column

Hi, I have log like this: ... (1 Reply)
Discussion started by: justbow
1 Replies

8. Shell Programming and Scripting

Perl removing line match with pattern in column

Hi, I have log like this: ... (1 Reply)
Discussion started by: justbow
1 Replies

9. Shell Programming and Scripting

Delete line by pattern match in column

file: 1|12322|tow| 5|23422|pow| 6|23423|cow| 3|34324|how| deletelines: 12322 23423 My command to delete line while read NUM do awk -F"\|" '$2 !~ /`"$NUM"`/' file >file.back mv file.back file done<deletelines (3 Replies)
Discussion started by: Roozo
3 Replies

10. UNIX for Beginners Questions & Answers

If pattern in column 3 matches pattern in column 2 (any row), print value in column 1

Hi all, I have searched and searched, but I have not found a solution that quite fits what I am trying to do. I have a long list of data in three columns. Below is a sample: 1,10,8 2,12,10 3,13,12 4,14,14 5,15,16 6,16,18 Please use code tags What I need to do is as follows: If a... (4 Replies)
Discussion started by: bleedingturnip
4 Replies
GIT-MERGETOOL--LIB(1)						    Git Manual						     GIT-MERGETOOL--LIB(1)

NAME
git-mergetool--lib - Common git merge tool shell scriptlets SYNOPSIS
TOOL_MODE=(diff|merge) . "$(git --exec-path)/git-mergetool--lib" DESCRIPTION
This is not a command the end user would want to run. Ever. This documentation is meant for people who are studying the Porcelain-ish scripts and/or are writing new ones. The git-mergetool--lib scriptlet is designed to be sourced (using .) by other shell scripts to set up functions for working with git merge tools. Before sourcing git-mergetool--lib, your script must set TOOL_MODE to define the operation mode for the functions listed below. diff and merge are valid values. FUNCTIONS
get_merge_tool returns a merge tool. get_merge_tool_cmd returns the custom command for a merge tool. get_merge_tool_path returns the custom path for a merge tool. run_merge_tool launches a merge tool given the tool name and a true/false flag to indicate whether a merge base is present. $MERGED, $LOCAL, $REMOTE, and $BASE must be defined for use by the merge tool. AUTHOR
Written by David Aguilar <davvid@gmail.com[1]> DOCUMENTATION
Documentation by David Aguilar and the git-list <git@vger.kernel.org[2]>. GIT
Part of the git(1) suite NOTES
1. davvid@gmail.com mailto:davvid@gmail.com 2. git@vger.kernel.org mailto:git@vger.kernel.org Git 1.7.1 07/05/2010 GIT-MERGETOOL--LIB(1)
All times are GMT -4. The time now is 10:13 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy