Sponsored Content
Full Discussion: join fields
Top Forums Shell Programming and Scripting join fields Post 302555435 by sk1418 on Wednesday 14th of September 2011 05:54:55 PM
Old 09-14-2011
Code:
kent$  echo "1|2|3|a02 test|303
2|2|4|1002 a05 ind|303
4|3|5|ind|30"|awk -F'|' -v OFS='|' '{$4=gensub(/.* (.*) (.*)$/,"\\1\\2","g",$4);gsub(/ /,"",$4)}1'
1|2|3|a02test|303
2|2|4|a05ind|303
4|3|5|ind|30

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

join on multiple fields

Is it possible to do a join on multiple fields of two files? I am trying to do something like join -t, -1 2,3 -2 2,3 -o 2.1,2.2,2.3,1.3 filea fileb I want the join to be on columns 2 and 3 of filea and columns 2 and 3 of fileb. What is hapenning is that the second file that I want to do the join... (1 Reply)
Discussion started by: reggiej
1 Replies

2. Shell Programming and Scripting

join on a file with multiple lines, fields

I've looked at the join command which is able to perform what I need on two rows with a common field, however if I have more than two rows I need to join all of them. Thus I have one file with multiple rows to be joined on an index number: 1 randomtext1 2 rtext2 2 rtext3 3 rtext4 3 rtext5... (5 Replies)
Discussion started by: crimper
5 Replies

3. Shell Programming and Scripting

Merging fields --- Join is not working

Hi GUYS sorry for putting simple query. I have tried the methods posted previously in this site but I'm unable to join the similar values in different columns of different files. I used sort -u file1 and join but no use.?? I'm attaching my inputfiles.Plz chek them I have two files. 1st file... (10 Replies)
Discussion started by: repinementer
10 Replies

4. UNIX for Dummies Questions & Answers

Need help with Join on multiple fields

Hi, I need help with the join command I have 2 files that I want to join on multiple fields. I want to return all records from file 1 I also want empty fields in my joined file if there isn't a match in file 2 I have already sorted them so I know they are in the same order. file1 ... (0 Replies)
Discussion started by: shunter0810
0 Replies

5. Shell Programming and Scripting

Join fields from files with duplicate lines

I have two files, file1.txt: 1 abc 2 def 2 dgh 3 ijk 4 lmn file2.txt 1 opq 2 rst 3 uvw My desired output is: 1 abc opq 2 def rst 2 dgh rst 3 ijk uvw (2 Replies)
Discussion started by: xan.amini
2 Replies

6. Shell Programming and Scripting

Join fields comparing 4 fields using awk

Hi All, I am looking for an awk script to do the following Join the fields together only if the first 4 fields are same. Can it be done with join function in awk?? a,b,c,d,8,,, a,b,c,d,,7,, a,b,c,d,,,9, a,b,p,e,8,,, a.b,p,e,,9,, a,b,p,z,,,,9 a,b,p,z,,8,, desired output: ... (1 Reply)
Discussion started by: aksijain
1 Replies

7. UNIX for Dummies Questions & Answers

Join command: how to keep all fields in one data

Dear all, I 'd like to ask a question. I have two datasets: a.txt (only has one filed, call 'SNP'), b.txt( has thousands of fields, 1st field call 'SNP'). a.txt: rs9527 rs318567 rs12376 ... b.txt: rs167893 1 2 0 2 1 2 ... rs318567 2 0 2 1 2 0 ... rs12376 0 2 0 2 1 2 ... I... (2 Replies)
Discussion started by: forevertl
2 Replies

8. Shell Programming and Scripting

Join fields in a same file based on condition

I have an input file like this... All iI want to do is If the lines are identical except for the last field i want to merge them into single line input_file I feel something is nothing I feel something is everything apple mango banana apple mango grapes I want to get output like this:... (3 Replies)
Discussion started by: raj_k
3 Replies

9. Shell Programming and Scripting

Trying to combine fields with sort/join

I have a file with two fields in it delimited by a comma. Some of the first fields are duplicates. I am trying to eliminate any duplicate records in the first field, and combine the second fields in the output file. For example, if the input is: Jane,group=A Bob,group=A Bob,group=D... (3 Replies)
Discussion started by: DJR
3 Replies

10. Shell Programming and Scripting

Join files on multiple fields

Hello all, I want to join 2 tabbed files on the first 2 fields, and filling the missing values with 0. The 3rd column in each file is constant for the entire file. file1 12658699 ST5 XX2720 0 1 0 1 53039541 ST5 XX2720 1 0 1.5 1 file2 ... (6 Replies)
Discussion started by: sheetalk
6 Replies
DS(3)							   DACS Library Functions Manual						     DS(3)

NAME
ds - Dynamic strings and vectors SYNOPSIS
#include "dsslib.h" Ds *ds_init(Ds *ods); Ds *ds_init_size(Ds *ods, size_t nbytes); Ds *ds_alloc(void); Ds *ds_alloc_size(size_t nbytes); Ds *ds_reinit(Ds *ds); Ds *ds_reinit_size(Ds *ods, size_t nbytes); Ds *ds_reset(Ds *ds); Ds *ds_reset_buf(Ds *ds); Ds *ds_trim(Ds *ds); Ds *ds_grow(Ds *ds); void ds_free(Ds *ds); int ds_appendc(Ds *ds, int ch); int ds_copyb(Ds *ds, void *src, size_t len, unsigned int offset); int ds_insertb(Ds *ds, void *src, size_t len, unsigned int offset); int ds_append(Ds *ds, char *str); int ds_concat(Ds *ds, char *str); int ds_concatc(Ds *ds, int ch); int ds_concatn(Ds *ds, char *str, size_t len); Ds *ds_set(Ds *ds, char *str); Ds *ds_setn(Ds *ds, unsigned char *s, size_t slen); Ds *ds_range(Ds *ds, char *str, char *range_spec, Range_syntax *ors); int ds_getc(Ds *ds, FILE *fp, int *ch_ptr); Dsio *dsio_set(Ds *ds, FILE *fp, char *buf, unsigned long len, int have_length); int dsio_free(Ds *ds); int dsio_eof(Ds *ds); int dsio_nextc(Ds *ds, int *ch_ptr); int dsio_peekc(Ds *ds, int *ch_ptr); char *dsio_agets(Ds *ds); char *dsio_gets(Ds *ds); int dsio_load(Ds *ds); char *dsio_load_str(Ds *ds); char *ds_gets(Ds *ds, FILE *fp); char *ds_agets(Ds *ds, FILE *fp); char *ds_agets_buf(Ds *ds, char *buf); char *ds_prompt(Ds *ds, char *prompt, unsigned int flag); char *ds_readline(Ds *ds, char *prompt, char *cprompt); Ds *ds_load_file(Ds *ds, char *pathname); Ds *ds_agetf(Ds *ds, FILE *fp); Ds *ds_getf(FILE *fp); int ds_sprintf(Ds *ds, unsigned int offset, char *fmt, ...); int ds_asprintf(Ds *ds, char *fmt, ...); int ds_vasprintf(Ds *ds, char *fmt, va_list ap); char *ds_xprintf(char *fmt, ...); char *ds_vxprintf(char *fmt, va_list ap); FILE *ds_fopen_secure(const char *path, const char *mode, size_t size); int ds_fclose(FILE *fp); int ds_fclean(FILE *fp); Dsvec *dsvec_init(Dsvec *dsv, size_t size); Dsvec *dsvec_alloc(size_t size); Dsvec *dsvec_init_size(Dsvec *dsv, size_t size, int n); Dsvec *dsvec_alloc_size(size_t size, int n); void dsvec_free(Dsvec *dsv); Dsvec *dsvec_grow(Dsvec *dsv, unsigned int new_nelements); Dsvec *dsvec_subset(Dsvec *dsv, Dsvec *old_dsv, unsigned int start, int len); Dsvec *dsvec_copy(Dsvec *dsv, Dsvec *old_dsv); void *dsvec_ptr_index(Dsvec *dsv, unsigned int ind); int dsvec_delete_ptr_index(Dsvec *dsv, unsigned int ind); int dsvec_delete_ptr(Dsvec *dsv, void *ptr); int dsvec_replace_ptr(Dsvec *dsv, void *ptr, unsigned int ind); int dsvec_streq(Dsvec *dsv1, Dsvec *dsv2); int dsvec_strneq(Dsvec *dsv1, Dsvec *dsv2, size_t len); int dsvec_rotate(Dsvec *dsv, int npos); Dsvec *dsvec_strlist(Dsvec *dsv, char *str_spec); Dsvec *dsvec_slice(Dsvec *dsv, Dsvec *primary, unsigned int ind, unsigned int len); Dsvec *dsvec_range(Dsvec *dsv, Dsvec *primary, char *range_spec, Range_syntax *ors); int dsvec_replace(Dsvec *primary, unsigned int ind, unsigned int delete_len, Dsvec *secondary); int dsvec_append(Dsvec *primary, Dsvec *secondary); int dsvec_insert_ptr(Dsvec *dsv, unsigned int ind, void *ptr); int dsvec_add_ptr(Dsvec *dsv, void *ptr); int dsvec_insert(Dsvec *primary, unsigned int ind, Dsvec *secondary); int dsvec_delete(Dsvec *dsv, unsigned int ind, unsigned int ndelete); int dsvec_add_obj(Dsvec *dsv); void dsvec_sort(Dsvec *dsv, int (*compar)(const void *, const void *)); Dsvec *dsvec_load(Ds *ds, Dsvec *dsv); Dsvec *ds_mkargv_add(Dsvec *dsv, char *el); Dsvec *ds_mkargv_addv(Dsvec *dsv, int argc, char **argv); typedef struct Mkargv { int keepq; int keepws; char *ifs; char *startq; char *endq; } Mkargv; Dsvec *ds_mkargv(Dsvec *dsv, char *str, Mkargv *conf); char *ds_buf(Ds *ds); size_t ds_len(Ds *ds); size_t ds_size(Ds *ds); int ds_eq(Ds *ds1, Ds *ds2); (TYPE) dsvec_ptr(Ds *DSV, unsigned int IND, TYPE); (TYPE) dsvec_obj(Ds *DSV, unsigned int IND, TYPE); (TYPE) dsvec_new_obj(Ds *DSV, TYPE); (TYPE) dsvec_base_type(Ds *DSV, TYPE); void **dsvec_base(Dsvec *dsv); unsigned int dsvec_len(Dsvec *dsv); extern int ds_default_clear_flag; extern int ds_default_delnl_flag; extern size_t ds_default_len_limit; extern void *(*ds_default_malloc_func)(size_t size); extern void *(*ds_default_free_func)(void *ptr); DESCRIPTION
The DS library is a collection of functions for creating, manipulating, and formatting strings of bytes. The memory used by these strings is dynamically allocated and released as necessary. When used correctly, bugs caused by buffer overruns and other programming errors can be avoided. There are also functions for creating and manipulating dynamic vectors of pointers and objects. Byte Strings A Ds data structure represents a dynamic string. It must be initialized before it can be used. A Ds variable contains several fields that may be set after initialization but before it is first used. Default values for some of these fields are copied from global variables exported by the library. Initialization Manipulation Formatting Vectors DACS 1.4.27b 10/22/2012 DS(3)
All times are GMT -4. The time now is 06:43 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy