perl - replace value


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting perl - replace value
# 1  
Old 06-23-2011
perl - replace value

Hello,

I am trying to change a value in a param file, with the Run time variable in .sh scripts
using perl command ,

==========================================
Param file
Code:
[Global]
$$ID=<0>
$$Country=<Country>

==========================================
in the .sh script
Code:
val=33

I am trying 2 ways :
Code:
perl -pi -e 's/\$\$$ID=<>/\$\$$ID=<$val>/'

Or
Code:
perl -pi -e 's/$$ID=<>/$$ID=<$val>/g'

both way I am not able to change with the runtime value
it returns with no value in the result file
$$ID=<>
$$Country=<Country>

can someone please tell me what's wrong
Do I need to look at SED or AWK ?
Please Advice.

Thx.
-

Last edited by pludi; 06-23-2011 at 05:40 PM..
# 2  
Old 06-23-2011
Try:
Code:
perl -psi -e 's/\$\$ID=<.*>/\$\$ID=<$val>/' -- -val=33 file

# 3  
Old 06-23-2011
I could not see any change in the replace value

Thx
-
# 4  
Old 06-23-2011
Weird. It is working for me on the sample that you provided:
Code:
[root@linux ~]# cat file
[Global]
$$ID=<0>
$$Country=<Country>
[root@linux ~]# perl -psi -e 's/\$\$ID=<.*>/\$\$ID=<$val>/' -- -val=33 file
[root@linux ~]# cat file
[Global]
$$ID=<33>
$$Country=<Country>

# 5  
Old 06-23-2011
Code:
$
$ # check the file "f6" before making the change
$ cat f6
Param file
[Global]
$$ID=<0>
$$Country=<Country>
$
$ # set and export a shell variable called "VAL"
$ VAL=33
$ export VAL
$
$ # run the Perl one-liner to plug in the value of "VAL"
$ perl -pi -e "s/^(..ID=<).*?(>)/\${1}$VAL\$2/" f6
$
$ # check the file "f6" after making the change
$ cat f6
Param file
[Global]
$$ID=<33>
$$Country=<Country>
$
$

tyler_durden
# 6  
Old 06-23-2011
You are right , I was trying with $$ in my script

Code:
perl -psi -e 's/\$\$$ID=<.*>/\$\$$ID=<$val>/' -- -val=33 file

to match the pattern in the file
$$ID=<0>
$$Country=<Country

once I change to
Code:
perl -psi -e 's/\$\$ID=<.*>/\$\$ID=<$val>/' -- -val=33 file

do u think that would make a difference ?

also I am getting the run time value in the .sh script , the final version would be like

Code:
perl -psi -e 's/\$\$ID=<.*>/\$\$ID=<$valB>/' -- -valB=$X $paramP/Id_$X/CREATE_PARAM.parms

Thx a lot
-

Last edited by pludi; 06-23-2011 at 05:40 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Search and replace (perl)

How can I achieve this? Perl would be awesome. Input string a_b c //Note there is a blank here Needed Output a_b_c Thanks (4 Replies)
Discussion started by: dragonpoint
4 Replies

2. Shell Programming and Scripting

Perl value lookup and replace

Hi, I have an input file and a config file which I need to lookup values in using Perl: Input file: ID, Value COMP0,0 COMP1,1 COMP2,2 COMP3,3 COMP4,3 COMP5,5Config file: ID, Operation COMP0,((@COMP1@ + @COMP2@ + @COMP3@) / @COMP4@) + @COMP5@Expected output: ID, Value COMP0,7 # This... (0 Replies)
Discussion started by: Subbeh
0 Replies

3. Shell Programming and Scripting

Replace [|] in perl

Hi I have a file newfile.txt in perl. Its content is 2253397806-Dec-11 03.04.14.000000 PM9999901-May-12 03.28.21.000000 PM222212{|} 2905597803-Jan-12 01.24.24.000000 AMBank_CreateCustomerDET01-May-12 11.14.53.000000 AM232382{|} I have to replace by | and {|} by... (5 Replies)
Discussion started by: irudayaraj
5 Replies

4. Shell Programming and Scripting

How replace -- character in perl

Hi All, I am having below issue could anybody help me. $x= SELECT * FROM EMP --xyz this change is done in q2; I want delete the charchters from -- to till the end. I want $x to be $x= SELECT * FROM EMP; Thanks, Vijay G (1 Reply)
Discussion started by: gvk25
1 Replies

5. Shell Programming and Scripting

how to replace a particular character in perl

Hi, I have a file with two string : aa_bb_cc_def gg_hh_jj_xyz now i want a command in perl script, which gives me the result as : aa_bb_cc.def gg_hh_jj.xyz Can anyone help me on this plz.. thanks in advane. (6 Replies)
Discussion started by: arup1980
6 Replies

6. Shell Programming and Scripting

Search and Replace in Perl

I am trying to write a simple perl script to run on a FreeBSD machine. There are alot of posts here, and I have read so many, yet can not get this script to run. #!/usr/bin/perl -e 's/\r\n/~/' infile.txt outfile.txt I am trying to take a windows text file, move it into Unix, run a script on... (1 Reply)
Discussion started by: mach1
1 Replies

7. Shell Programming and Scripting

How to replace a value in a file in perl?

Hi, I have a file with the following contents and i want to replace that value in a file with some other value. #file.txt /local/Disk/data n 192.168.55.98 52035 3 1 2 1 1 192.168.55.98 Here is my code. (2 Replies)
Discussion started by: vanitham
2 Replies

8. Shell Programming and Scripting

How to replace string in perl?

Hi, I have string like this: $query="#1,apple"; $string=$query; I want to replace #1 with fruit. I tried like this: string=~s/#\d+/$query/ig; print "\n string: $string\n"; It is working only when there is single #1 or #2 but when i give like #1,#2,#3,apple the above code... (2 Replies)
Discussion started by: vanitham
2 Replies

9. Shell Programming and Scripting

Search and replace in Perl

Hello, I have a Perl script that reads in an Excel spread sheet and formats the values into a text file. I am having trouble with one column that can have numbers or letters. Excel left justifies the values that start with a letter and right justifies the values that contain only a... (2 Replies)
Discussion started by: jyoung
2 Replies

10. Shell Programming and Scripting

Replace Perl Module name in all Perl scripts

I want to replace a Perl module name in all my Perl Scripts in the cgi-bin directory. How is it possible? I have the following statement in my scripts use myUtil; I want to change it to use myUtil777; Regards, Rahul (2 Replies)
Discussion started by: rahulrathod
2 Replies
Login or Register to Ask a Question