Sponsored Content
Top Forums UNIX for Dummies Questions & Answers UNIX one line cmd join 2 sets of data from 2 files Post 302842037 by rbatte1 on Thursday 8th of August 2013 11:00:39 AM
Old 08-08-2013
Hello tugar,

I'm going to assume that the values in column 1 of file 2 are unique.

There might be a way with the paste command, but I've not used that much myself. I'm sure an awk will be more than capable, but I have a shell option for you. This might be a bit slow, but try:-
Code:
#!/bin/ksh
while read f1_c1 f1_rest
do
   index="${f1_c1%-*}"               # Remove section after the hyphen
   index="${index#${line%%???}"    # Remove first 3 characters
   grep "^$index " file2 | read ind ref
   echo "$f1_c1 $ref $f1_rest"
done <file1 >file3



I hope that this helps. Let us know if this is acceptable or misses the point.

Robin
Liverpool/Blackburn
UK
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to join flat files together under unix

Hi, I have 7 big flat files, each contains 24 million records which have been sorted by the first field delimitered by Ctrl B (002). I want to join them together side by side, eg. File A: 1^Ba^Bb 2^Bx^By .... File B: 1^Bc^Bd 2^Bm^Bn .... After merged, it should look like :... (7 Replies)
Discussion started by: xli
7 Replies

2. Virtualization and Cloud Computing

Clouds (Partially Order Sets) - Streams (Linearly Ordered Sets) - Part 2

timbass Sat, 28 Jul 2007 10:07:53 +0000 Originally posted in Yahoo! CEP-Interest Here is my follow-up note on posets (partially ordered sets) and tosets (totally or linearly ordered sets) as background set theory for event processing, and in particular CEP and ESP. In my last note, we... (0 Replies)
Discussion started by: Linux Bot
0 Replies

3. OS X (Apple)

Command line tool to join multiple .wmv files?

I need a simple command line executable that allows me to join many wmv files into one output wmv file, preferrably in a simple way like this: wmvjoin file1.wmv file2.wmv .... > outputfile.wmv So what I want is the wmv-equivalent of mpgtx I cannot find it on internet. Thanks. (2 Replies)
Discussion started by: karman
2 Replies

4. Shell Programming and Scripting

Inserting Lines between data sets using SED?

Hello all and thanks in advance! What I'm looking to do is insert a blank line, anytime the first 9 characters of a given line don't match the first 9 characters of the previous line. i.e. Convert the data set 1 45 64 89 1 89 69 235 2 89 234 67 2 56 90... (1 Reply)
Discussion started by: selkirk
1 Replies

5. Shell Programming and Scripting

Finding Overlap between two sets of data

Hi everyone, I posted this earlier, but the idea changed since then and I figured it would make more sense if I repost with a clearer idea in hopes someone can help me out. I have two lists of data in file1 and file 2 file1 (tab separated - column1 column2 column 3) 1 91625106 ... (1 Reply)
Discussion started by: labrazil
1 Replies

6. Shell Programming and Scripting

join lines on line break in files

i had a file where lines appear to be broken when they shouldn't eg Line 1. kerl abc sdskd sdsjkdlsd sdsdksd \ Line 2. ksdkks sdnjs djsdjsd i can do a shift join to combine the lines but i there are plenty of files with this issue Line 1. kerl abc sdskd sdsjkdlsd sdsdksd ksdkks sdnjs... (6 Replies)
Discussion started by: mad_man12
6 Replies

7. Shell Programming and Scripting

Unix cmd prompt how to get old cmd run?

Hi, I am using SunOS I want to serch my previous command from unix prompt (like on AIX we can search by ESC -k) how to get in SunOs urgent help require. (10 Replies)
Discussion started by: RahulJoshi
10 Replies

8. Shell Programming and Scripting

UNIX cmd -find empty files in folder else sleep for 8hrs

Hello, I am trying to write a unix cmd , that if files in folder /path/FTP are all zero kb or empty then good to go, if not empty then sleep for 8 hrs. Following cmd list me the files which are not empty, But when I am incorporating IF ELSE cmd fails find /path/FTP. -type f -exec wc -l {}... (6 Replies)
Discussion started by: bluestarmoon
6 Replies

9. Shell Programming and Scripting

Join the line on delimiter using sed/awk in UNIX

I've input as , abcd| ef 123456| 78| 90 Desired output as, abcdef 1234567890 Anyone please give the solution. (5 Replies)
Discussion started by: jinixvimal
5 Replies
term::receive(3tcl)						 Terminal control					       term::receive(3tcl)

__________________________________________________________________________________________________________________________________________________

NAME
term::receive - General input from terminals SYNOPSIS
package require Tcl 8.4 package require term::receive ?0.1? ::term::receive::getch ?chan? ::term::receive::listen cmd ?chan? cmd process string cmd eof ::term::receive::unlisten ?chan? _________________________________________________________________ DESCRIPTION
This package provides the most primitive commands for receiving characters to a terminal. They are in essence convenient wrappers around the builtin commands read and fileevent. ::term::receive::getch ?chan? This command reads a single character from the channel with handle chan and returns it as the result of the command. If not specified chan defaults to stdin. It is the responsibility of the caller to make sure that the channel can provide single characters. On unix this can be done, for example, by using the command of package term::ansi::ctrl::unix. ::term::receive::listen cmd ?chan? This command sets up a filevent listener for the channel with handle chan and invokes the command prefix cmd whenever characters have been received, or EOF was reached. If not specified chan defaults to stdin. The signature of the command prefix is cmd process string This method is invoked when characters were received, and string holds them for processing. cmd eof This method is invoked when EOF was reached on the channel we listen on. It will be the last call to be received by the callback. ::term::receive::unlisten ?chan? This command disables the filevent listener for the channel with handle chan. If not specified chan defaults to stdin. BUGS, IDEAS, FEEDBACK This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category term of the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for either package and/or documentation. KEYWORDS
character input, control, get character, listener, receiver, terminal CATEGORY
Terminal control COPYRIGHT
Copyright (c) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net> term 0.1 term::receive(3tcl)
All times are GMT -4. The time now is 02:36 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy