Sponsored Content
Top Forums Shell Programming and Scripting awk how to replace specific field with new value Post 302511413 by sk1418 on Wednesday 6th of April 2011 06:12:43 PM
Old 04-06-2011
replace all x into y?
or only in 2nd line?
or in lines that match some pattern? e.g. starts with 5?

the codes below change any x-fields to y only in the 2nd line.
Code:
awk '{if (NR==2)for(i=1;i<=NF;i++) $i=($i=="x")?"y":$i; print $0}' input

This User Gave Thanks to sk1418 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk to replace particular field

i have bad data for instance, the use of capital letters in the middle of the word. I identified the errors, made a list and put it in a file error_correction.txt Incorrect,Correct VeNOM,Venom nos,NOS . . . My data file looks like this: vgr,bugatti veron,,3.5,Venom,6,.......,....... (14 Replies)
Discussion started by: VGR
14 Replies

2. Shell Programming and Scripting

Awk to replace a field

Hi I am using awk to replace the 4th feild of the input line. My code is below: REP_LINE=$(echo $Line | awk -v var=$REPL_DT '{$4=var; print}') It does replaces but all words/phrases after the 4th feild are erased. Is there a way to modify the 4th feild of the input line and to have all... (7 Replies)
Discussion started by: sugan
7 Replies

3. Shell Programming and Scripting

Replace specific field on specific line sed or awk

I'm trying to update a text file via sed/awk, after a lot of searching I still can't find a code snippet that I can get to work. Brief overview: I have user input a line to a variable, I then find a specific value in this line 10th field in this case. After asking for new input and doing some... (14 Replies)
Discussion started by: crownedzero
14 Replies

4. Shell Programming and Scripting

awk search/replace specific field, using variables for regexp & subsitution then overwrite file

Hello, I'm trying the solve the following problem. I have a file which I intend to use as a csv called master.csv The columns are separated by commas. I want to change the text on a specific row in either column 3,4,5 or 6 from xxx to yyy depending upon if column 1 matches a specified pattern.... (3 Replies)
Discussion started by: cyphex
3 Replies

5. Shell Programming and Scripting

AWK replace one field

I have some problem with this. Need to change field #3 to 5 if field #1 = A and filed #2 =B DataA C 6 T C B 4 R A B 3 T D E 5 4 I would like to do two things if statement is true, but can not get it to work. Here it prints column #3 if statement is true, and this works awk '{if... (3 Replies)
Discussion started by: Jotne
3 Replies

6. Shell Programming and Scripting

How to print with awk specific field different from specific character?

Hello, i need help with awk. I have this file: cat number DirB port 67 er_enc_out 0 er_bad_os 0 DirB port 71 er_enc_out 56 er_bad_os 0 DirB port 74 er_enc_out 0 er_bad_os 0 DirB port 75 ... (4 Replies)
Discussion started by: elilmal
4 Replies

7. UNIX for Dummies Questions & Answers

How to replace and remove few junk characters from a specific field?

I would like to remove all characters starting with "%" and ending with ")" in the 4th field - please help!! 1412007819.864 /device/services/heartbeatxx 204 0.547%!i(int=0) 0.434 0.112 1412007819.866 /device/services/heartbeatxx 204 0.547%!i(int=1) 0.423 0.123... (10 Replies)
Discussion started by: snemuk14
10 Replies

8. Shell Programming and Scripting

awk to replace a specific field in certain condition

Hi, I have a file like below PRUM,67016800 ,CC ,C1,67016800 , ,Y,Y,2 ,CK,BX,FOX ,00000001,EA,00000001,20141120 00:00:00, ,N,Y,Y,CK ABCDEF... (7 Replies)
Discussion started by: mady135
7 Replies

9. Shell Programming and Scripting

awk - how to print specific field if a string is matched

hi gurus, I would like to be able to use awk to process 1 file as such: abc 1 2 3 4 5 6 7 8 9 10 flags 1 2 4 flags 1 2 5 abc 2 3 4 5 6 7 8 9 10 11 flags 1 2 3 abc 4 5 6 7 8 9 6 7 78 89 flags 1 2 3 flags 1 2 4 flags 1 2 3 4 I would like to be able to print field 1 and 5 when the... (4 Replies)
Discussion started by: revaroo
4 Replies

10. Shell Programming and Scripting

awk to add symbol to specific field

Trying to use awk to add a . to $4. The input and output is tab-delimeted, but the awk seems to add a . in front of $5 and is space-delimeted. It seems close, but I am not able to produce the desired output. Thank you :). file chr1 948895 949015 chr1:948895-949015 ISG15 chr1 ... (1 Reply)
Discussion started by: cmccabe
1 Replies
keyhead(1)						      General Commands Manual							keyhead(1)

Name
       keyhead - Change FITS or IRAF header keyword names

Synopsis
       keyhead [-hknv] <FITS or IRAF file> kw1=kw1a kw2=kwd2a ... kwn=kwdna

Description
       Change the names of keywords in FITS or IRAF image headers.  Each current image keyword whose entry is to be modified should be followed by
       an equal sign and a second keyword, with no intervening spaces.	If the -r option is used, the value of the second keyword is transfered to
       that  of the first. Otherwise, the name of the first keyword is changed to the second keyword.  To change keywords in a list of files, sub-
       stitute @<listfile> for the file names on the command line.  To change a lot of keywords, put them, one pair separated by an = sign with no
       spaces  per  line, in a file and substitute @<keylistfile> on the command line.	If two @ commands are present, the program will figure out
       which contains file names and which contains keywords.  Lines in a keyword list file which do not contain an = are ignored.

Options
       -h     Write HISTORY line into output header with sethead version, current date and time, and names of keywords set.

       -k     Write KEYHEAD keyword into output header with the keyhead version, current date and time, and names  of  keywords  whose	names  are
	      changed.	If a KEYHEAD keyword already exists, move the old value to a HISTORY line before writing the new value

       -n     Write a new file with an added "e" before the extension.

       -r letter
	      Replace  value of 1st keyword with value of 2nd keyword instead of changing the name of the 1st keyword to the 2nd keyword.  The 2nd
	      keyword remains in the header.  If the 1st keyword does not exist in the header, it is created.

       -v     Print confirmations of each keyword change.

Web Page
       http://tdc-www.harvard.edu/software/wcstools/keyhead.html

Author
       Doug Mink, SAO (dmink@cfa.harvard.edu)

6 July 2001							     WCSTools								keyhead(1)
All times are GMT -4. The time now is 11:25 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy