Sponsored Content
Top Forums Shell Programming and Scripting Trouble with passing Variable from bash to awk gsub command Post 302580599 by ni2 on Friday 9th of December 2011 02:28:41 AM
Old 12-09-2011
Using
Code:
#!/bin/bash

echo "Enter Username"
read Username
echo "Field"
read FieldNo

awk -F: -v var=${Username} -v var2=${FieldNo} '$0 ~ var {sub($var2,"bar"); print}' FILENAME

Code:
$bash test.sh
Enter Username
Carl
Field
3
Carl foo bar

Code:
$less FILENAME
Richard:foo:foo
Sam:foo:foo
Carl:foo:foo

Moving on to your other request. What you posted should also work. But it would replace *all* occurrances of data with newdata in that record. Using sub will replace the first occurance of that data with newdata in that record.
Code:
read data
read newdata

awk -F: -v var=${Username} -v var1=${data} -v var2=${newdata} '$0 ~ var {gsub(var1,var2); print}' FILENAME

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

passing variable values to awk command

Hi, I have a situation where I have to specify a different value to an awk command, I beleive i have the gist of this done, however I am not able to get this correct. Here is what I have so far echo $id 065859555 This value occurs in a "pipe" delimited file in postition 8. Hence I would... (1 Reply)
Discussion started by: jerardfjay
1 Replies

2. Shell Programming and Scripting

passing variable from bash to perl from bash script

Hi All, I need to pass a variable to perl script from bash script, where in perl i am using if condition. Here is the cmd what i am using in perl FROM_DATE="06/05/2008" TO_DATE="07/05/2008" "perl -ne ' print if ( $_ >="$FROM_DATE" && $_ <= "$TO_DATE" ) ' filename" filename has... (10 Replies)
Discussion started by: arsidh
10 Replies

3. Shell Programming and Scripting

Passing Bash variable to javascript

How do I pass a bash variable to a javascript? I've tried #!/bin/bash echo "Content-type: text/html" echo "" echo "<html>" echo "<head>" counter=0 echo '<script> window.parent.document.forms.counter.value = "$counter"; </script>' I have an iframe script which I am trying to pass a... (3 Replies)
Discussion started by: numele
3 Replies

4. Shell Programming and Scripting

awk's gsub variable in replacement

I been trying to figure out how to use element of array as a replacement pattern. This works as I expected: $ echo "one two three" | awk '{ gsub(/wo/,"_BEG_&_END_",$2); print }' one t_BEG_wo_END_ three $ echo "one two three" | awk '{ tmp="foo"; gsub(/wo/,"_BEG_" tmp "_END_",$2);... (5 Replies)
Discussion started by: mirni
5 Replies

5. Shell Programming and Scripting

Trouble with passing variable to sed

Here is my code #!/bin/bash username=gnowicki sed '$s/$/ $username/' < sshd_config 1 <> sshd_config what this is supposed to do is take the name gnowicki and put it at the end of the last line of the sshd_config and it works except not using the variable, if I put the name "gnowicki" where... (2 Replies)
Discussion started by: slufoot80
2 Replies

6. Shell Programming and Scripting

Passing string as variable(s) in bash

I'm trying to write a basic bash script that takes input you give (what directory, if any, what name, if any ....) and passes the information to find. I'm trying to just create a string with all variables and then pass it to find. So far I have this extremely simple: #!/bin/bash -f ... (2 Replies)
Discussion started by: Starting_Leaf
2 Replies

7. Shell Programming and Scripting

Assign awk gsub result to a variable

Hello, I have searched but failed to find what exactly im looking for, I need to eliminate first "." in a output so i can use something like the following echo "./abc/20141127" | nawk '{gsub("^.","");print}' what i want is to use gsub result later on, how could i achieve it? Let say... (4 Replies)
Discussion started by: EAGL€
4 Replies

8. Shell Programming and Scripting

Passing variable from bash to perl script

Hi All, I need to pass a variable from bash script to perl script and in the perl script i am using those variables in the sql query but its giving error : Use of uninitialized value $ENV{"COUNTRYCD"} in concatenation (.) or string at /GIS_ROOT/custom/tables/DBread_vendor.pl line 50. Can ... (6 Replies)
Discussion started by: NileshJ
6 Replies

9. Shell Programming and Scripting

File creation using awk and gsub command

I have input file 04000912|100:|||||]|101:||]|creDate:1451876825000|1441324800000:]|1444003200000:]|1446595200000:]|1449187200000:]|1451865600000:] I have to get output as below ID|Re_Date|Re_Value|Re_date 04000912|100|40.0|44 04000912|100|50.0|55 04000912|100|60.0|66... (4 Replies)
Discussion started by: shabeena
4 Replies

10. Shell Programming and Scripting

awk gsub command to replace multiple spaces

Hi Forum. I'm trying to cleanup the following data elements (To remove any occurences of commas and any extra spaces) while preserving the <TAB> delimiter using awk gsub but I have not been successful. Original Data: 4365 monte des source rue,, ,<TAB>trevost<TAB>QC Desired Data:... (1 Reply)
Discussion started by: pchang
1 Replies
UNSET(3)								 1								  UNSET(3)

unset - Unset a given variable

SYNOPSIS
void unset (mixed $var, [mixed $...]) DESCRIPTION
unset(3) destroys the specified variables. The behavior of unset(3) inside of a function can vary depending on what type of variable you are attempting to destroy. If a globalized variable is unset(3) inside of a function, only the local variable is destroyed. The variable in the calling environment will retain the same value as before unset(3) was called. <?php function destroy_foo() { global $foo; unset($foo); } $foo = 'bar'; destroy_foo(); echo $foo; ?> The above example will output: bar To unset(3) a global variable inside of a function, then use the $GLOBALS array to do so: <?php function foo() { unset($GLOBALS['bar']); } $bar = "something"; foo(); ?> If a variable that is PASSED BY REFERENCE is unset(3) inside of a function, only the local variable is destroyed. The variable in the calling environment will retain the same value as before unset(3) was called. <?php function foo(&$bar) { unset($bar); $bar = "blah"; } $bar = 'something'; echo "$bar "; foo($bar); echo "$bar "; ?> The above example will output: something something If a static variable is unset(3) inside of a function, unset(3) destroys the variable only in the context of the rest of a function. Fol- lowing calls will restore the previous value of a variable. <?php function foo() { static $bar; $bar++; echo "Before unset: $bar, "; unset($bar); $bar = 23; echo "after unset: $bar "; } foo(); foo(); foo(); ?> The above example will output: Before unset: 1, after unset: 23 Before unset: 2, after unset: 23 Before unset: 3, after unset: 23 PARAMETERS
o $var - The variable to be unset. o $... - Another variable ... RETURN VALUES
No value is returned. EXAMPLES
Example #1 unset(3) example <?php // destroy a single variable unset($foo); // destroy a single element of an array unset($bar['quux']); // destroy more than one variable unset($foo1, $foo2, $foo3); ?> Example #2 Using (unset) casting (unset) casting is often confused with the unset(3) function. (unset) casting serves only as a NULL-type cast, for completeness. It does not alter the variable it's casting. <?php $name = 'Felipe'; var_dump((unset) $name); var_dump($name); ?> The above example will output: NULL string(6) "Felipe" NOTES
Note Because this is a language construct and not a function, it cannot be called using variable functions. Note It is possible to unset even object properties visible in current context. Note It is not possible to unset $this inside an object method since PHP 5. Note When using unset(3) on inaccessible object properties, the __unset() overloading method will be called, if declared. SEE ALSO
isset(3), empty(3), __unset(), array_splice(3). PHP Documentation Group UNSET(3)
All times are GMT -4. The time now is 08:29 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy