Sponsored Content
Top Forums Shell Programming and Scripting AWK How to replace a field using 2 shell variables? Post 302542802 by basalt on Thursday 28th of July 2011 03:54:41 PM
Old 07-28-2011
I just edited it with codes danmero.

Your solution was not able for me. I can't to look the old value from a file every time i needs to change it. I must that the shell do it by itself. But thanks to it, finally I found with the solution:
Code:
#!/bin/bash
SEARCHVAR=B
NEWVAL=10
OLDVAL=$(awk -v SEARCHVAR="$SEARCHVAR" '$1==SEARCHVAR {print $2}' test.txt)
awk -vSEARCHVAR="$SEARCHVAR" -vOLDVAL="$OLDVAL" -vNEWVAL="$NEWVAL" '$1==SEARCHVAR && $2==OLDVAL{sub(OLDVAL,NEWVAL,$2)}1' test.txt

the shell will show this:
Code:
A       0
B 10
C       -12.33

I hope this can to help it to someone Smilie

Last edited by basalt; 07-28-2011 at 06:23 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

search and replace using awk with variables

Hi, I have been trying to use awk with variables that needs to search for a pattern and replace it with another pattern, the patterns are supplied in a variable. I have tried several different ways without success and hope that someone can help me. Here are the details echo $UPC 07007457809... (2 Replies)
Discussion started by: jerardfjay
2 Replies

2. 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

3. 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

4. Shell Programming and Scripting

awk search and replace field

I am writing a c++ program that has many calls of pow(input,2). I now realize that this is slowing down the program and these all should be input * input for greater speed. There should be a simple way of doing this replacement throughout my file with awk, but I am not very familiar with awk.... (2 Replies)
Discussion started by: bluejayek
2 Replies

5. Shell Programming and Scripting

awk how to replace specific field with new value

I need to replace specific field (x) in a table with new value (y): Input: 1 2 3 4 5 x 6 7 8 9 0 0 Output: 1 2 3 4 5 y 6 7 8 9 0 0 I have no idea how to do this. (10 Replies)
Discussion started by: setepo
10 Replies

6. 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

7. 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

8. Shell Programming and Scripting

awk Match First Field and Replace Second Column

Hi Friends, I have looked around the forums and over online but couldn't figure out how to deal with this problem input.txt gene1,axis1/0/1,axis2/0/1 gene1,axis1/1/2,axis2/1/2 gene1,axis1/2/3,axis2/2/3 gene2,axis1/3/4,axis2/3/4 Match on first column and if first column is... (1 Reply)
Discussion started by: jacobs.smith
1 Replies

9. 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

10. Shell Programming and Scripting

awk to assign points to variables based on conditions and update specific field

I have been reading old posts and trying to come up with a solution for the below: Use a tab-delimited input file to assign point to variables that are used to update a specific field, Rank. I really couldn't find too much in the way of assigning points to variable, but made an attempt at an awk... (4 Replies)
Discussion started by: cmccabe
4 Replies
newgrp(1)						      General Commands Manual							 newgrp(1)

NAME
newgrp - switch to a new group SYNOPSIS
[group] DESCRIPTION
The command changes your group ID without changing your user ID and replaces your current shell with a new one. If you specify group, the change is successful if group exists and either your user ID is a member of the new group, or group has a pass- word and you can supply it from the terminal. If you omit group, changes to the group specified in your entry in the password file, Whether the group is changed successfully or not, or the new group is the same as the old one or not, proceeds to replace your current shell with the one specified in the shell field of your password file entry. If that field is empty, uses the POSIX shell, (see sh- posix(1)). If you specify (hyphen) as the first argument, the new shell starts up as if you had just logged in. If you omit the new shell starts up as if you had invoked it as a subshell. You remain logged in and the current directory is unchanged, but calculations of access permissions to files are performed with respect to the new real and effective group IDs. Exported variables retain their values and are passed to the new shell. All unexported variables are deleted, but the new shell may reset them to default values. Since the current process is replaced when the new shell is started, exiting from the new shell has the same effect as exiting from the shell in which was executed. EXTERNAL INFLUENCES
International Code Set Support Characters from the 7-bit USASCII code set are supported in group names (see ascii(5)). DIAGNOSTICS
The command issues the following error messages: Your user ID does not qualify as a group member. The group name does not exist in If a password is required, it must come from a terminal. Standard input is not a terminal file, causing the new shell to fail. EXAMPLES
To change from your current group to group without executing the login routines: To change from your current group to group and execute the login routines: WARNINGS
There is no convenient way to enter a password into The use of group passwords is not recommended because, by their very nature, they encourage poor security practices. Group passwords may be eliminated in future HP-UX releases. If the specified group to has multiple inconsistent entries (i.e. the group id or/and password are different) in the group database, will consider the group id and password of the first matched group entry as the correct group id and password for the group. FILES
System group file System password file SEE ALSO
csh(1), ksh(1), login(1), sh-posix(1), group(4), passwd(4), environ(5). STANDARDS CONFORMANCE
newgrp(1)
All times are GMT -4. The time now is 03:09 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy