Sponsored Content
Full Discussion: Replacement code
Top Forums Shell Programming and Scripting Replacement code Post 302911983 by Scrutinizer on Tuesday 5th of August 2014 03:59:15 AM
Old 08-05-2014
Try:
Code:
awk 'NR==FNR{getline v<f; A[$1]=v; next} $1 in A { $2=A[$1] }1' f=file3 file2 file1

or
Code:
paste file2 file3 | awk 'NR==FNR{A[$1]=$2; next} $1 in A { $2=A[$1] }1' - file1

or if with bash/ksh93/zsh you could also use::
Code:
awk 'NR==FNR{A[$1]=$2; next} $1 in A { $2=A[$1] }1' <(paste file2 file3) file1

This User Gave Thanks to Scrutinizer For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Replacement for netinfo

We are getting ready to migrate away from our netinfo server with is old Open Step. We were thinking of starting to use LDAP for all account creations, passwords... Does anyone have any pros or cons against this or what you are using? Thanks for the help. (0 Replies)
Discussion started by: rickyt00
0 Replies

2. UNIX for Advanced & Expert Users

Replacement for cron ?

Hi, We are running pre and post processing scripts (master server initiated) for backups (Veritas Netbackup Datacentre) - So our policies and schedules are kicked off via cron - however, we have so many servers, policies and schedules that managing these in cron/crontab is a nitemate. Are... (3 Replies)
Discussion started by: B-Man
3 Replies

3. UNIX for Dummies Questions & Answers

Regarding Replacement

I have two files: file1: somedata <html> <head> This is sample statement ...... ...... </head> </html> somedata file2: olga 81 91 B A rene 82 92 B A zack 83 93 Expextd Result: (2 Replies)
Discussion started by: rajx
2 Replies

4. UNIX for Dummies Questions & Answers

Pattern Replacement

There is a requirement that i need to replaced a pattern by another pattern in all the files in my entire file system. there are 1000s of file in the system. let the pattern is "calcuta". i have to replace this pattern by "kolkata" in all those files which contain "calcuta". I am only able to... (12 Replies)
Discussion started by: palash2k
12 Replies

5. Shell Programming and Scripting

Replacement with sed

I am trying to replace the line which has string "tablespace" not case senstive.... with below simple script: mysrcipt.sh sed "s/.*/TABLESPACE USERS/g" create_table > tmp mv tmp create_table Is there any better way to do it? If Search string tooooooo long it will be tough to code in... (4 Replies)
Discussion started by: ganeshd
4 Replies

6. Shell Programming and Scripting

help me :replacement

Hi pls help me for below; i have a file .content is : =================== uid,pcsPricingPlan,refPcsQosProfName 821910002022,smartlimit,SGSNQOS1 i have to replace the value of uid and pricingplan by a unix script. may be the value would be next line or any where in the file. pls... (9 Replies)
Discussion started by: Aditya.Gurgaon
9 Replies

7. UNIX for Dummies Questions & Answers

replacement

my filename.txt looks like this: 2079951061790 SCK0000891539000000000000021600R 2079951061790 SCK0000901487000000000000028900R 2079951061790 SCK0000903092000000000000021300R 2079951074758 ... (9 Replies)
Discussion started by: tjmannonline
9 Replies

8. Shell Programming and Scripting

Block of code replacement in Java source code through Unix script

Hi, I want to remove the following code from Source files (or replace the code with empty.) from all the source files in given directory. finally { if (null != hibernateSession && hibernateSession.isOpen()) { //hibernateSession.close(); } } It would be great if the script has... (2 Replies)
Discussion started by: hareeshram
2 Replies

9. Shell Programming and Scripting

Perl:: mass replacement of converting C code formats to tgmath.h

hello, i have a lot of C old code I'm updating to C11 with tgmath.h for generic math. the old code has very specific types, real and complex, like cabsl, csinhl, etc usually for simple bulk replacements i would do something simple like this perl -pi -e 's/cosl/cos/g' *.c the reference... (0 Replies)
Discussion started by: f77hack
0 Replies

10. Solaris

Is this MB, which needs replacement ?

Hello, I am getting below error in fmadm output. This server is not in support, so can't reach them. Is it showing that motherboard is faulty and should be replaced ? It was rebooted a week back and then, there were no errors # fmadm faulty --------------- ------------------------------------ ... (1 Reply)
Discussion started by: solaris_1977
1 Replies
GETDELIM(3)						   BSD Library Functions Manual 					       GETDELIM(3)

NAME
getdelim, getline -- read a delimited record from a stream LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <stdio.h> ssize_t getdelim(char ** restrict lineptr, size_t * restrict n, int delimiter, FILE * restrict stream); ssize_t getline(char ** restrict lineptr, size_t * restrict n, FILE * restrict stream); DESCRIPTION
The getdelim() function reads from the stream until it encounters a character matching delimiter, storing the input in *lineptr. The buffer is NUL-terminated and includes the delimiter. The delimiter character must be representable as an unsigned char. If *n is non-zero, then *lineptr must be pre-allocated to at least *n bytes. The buffer should be allocated dynamically; it must be possible to free(3) *lineptr. getdelim() ensures that *lineptr is large enough to hold the input, updating *n to reflect the new size. The getline() function is equivalent to getdelim() with delimiter set to the newline character. RETURN VALUES
The getdelim() and getline() functions return the number of characters read, including the delimiter. If no characters were read and the stream is at end-of-file, the functions return -1. If an error occurs, the functions return -1 and the global variable errno is set to indi- cate the error. The functions do not distinguish between end-of-file and error, and callers must use feof(3) and ferror(3) to determine which occurred. EXAMPLES
The following code fragment reads lines from a file and writes them to standard output. char *line = NULL; size_t linesize = 0; ssize_t linelen; while ((linelen = getline(&line, &linesize, fp)) != -1) fwrite(line, linelen, 1, stdout); if (ferror(fp)) perror("getline"); ERRORS
[EINVAL] lineptr or n is a NULL pointer. [EOVERFLOW] More than SSIZE_MAX characters were read without encountering the delimiter. The getdelim() and getline() functions may also fail and set errno for any of the errors specified in the routines fflush(3), malloc(3), read(2), stat(2), or realloc(3). SEE ALSO
ferror(3), fgets(3), fopen(3) STANDARDS
The getdelim() and getline() functions conform to IEEE Std 1003.1-2008 (``POSIX.1''). BSD
June 30, 2010 BSD
All times are GMT -4. The time now is 01:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy