I have the file in the following format.I need to change the password "tomcat","admin","mgr" and "testing" in the file with the encrypted passwords.
The encrypted passwords are given to me by another script.
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="role1" password="admin" roles="role1"/>
<user username="both" password="mgr" roles="tomcat,role1"/>
<user username="admin" password="testing" roles="admin,manager"/>
</tomcat-users>
Following is the script that I had started, But I am stuck with the perl -i command.the perl -i command works like a charm with the string, but not working with the variable. Can anyone please help.
But this command works like a charm!!
Please let me know if sed -i command would work for this scenario.
Strange that $1 is substituted while enclose by single quotation marks, which prevent that for shell variables.
$1 is not a shell variable but a Perl variable, since it is in the expression in single quotes passed to Perl with -e to execute, so there is no problem with it.
So is $enpasswds, but that has not been initialised in the Perl expression.
The problem here is the sed command is not working.I need to make changes in the original file, tomcat-users file itself, so I tried the -i option. But that too isn't working..
As spirtle stated, $1 and $enpasswds are perl variables. In the upper part of your shell script you define en_passwds, but I see nowhere, that you feed perl with that ie. something like in awk when you use -v to handover a shell variable to become the value of an awk variable.
Thanks Zaxxon. I tried exporting the variable en_passwd, so that perl can recognize it. It recognized the variable , but was not able to change the file.
I am looking into other options(sed or awk) to achieve this. My biggest problem is I need to exactly replace only the password in the file, by a variable.
For eg: password="tomcat"
I need to replace only tomcat in quotes after the password word, no matter how many times tomcat word is int he file.
Hi All,
I have data like below
1 CREATE TABLE temp123
2 (
3 col1 INTEGER,
4 col2 CHAR(3) CHARACTER SET LATIN NOT CASESPECIFIC,
5 col3 DECIMAL(19,0),
6 col4 VARCHAR(80) CHARACTER SET LATIN NOT CASESPECIFIC,
7 start_dt DAte FORMAT 'YY/MM/DD',
8 end_dt DATE FORMAT 'YY/MM/DD',
9 datecol1... (6 Replies)
i am having a file test1.txt and its contents is as follows.
<abcaaa bbb ccc ddd>
<dddeeeffff>
<my computer>
<abcmydocuments>
Now I need to find the text abc and should be replaced as follows.
<abc>
<dddeeeffff>
<my computer>
<abc>
First line has the text "abc" and it has to be... (3 Replies)
I have the following requirement in the shell script
1. I have more than 200 shell script files. I need to find out how many shell scripts have "sqlplus /" in the shell file
2. I need to replace all the shell scripts in the single command
for example: connect scott/scott
replace as ... (6 Replies)
Dear All
To find a file, according to you, I tried as:
#find / -name file-name -print
To find a string inside the files , I tried as :
#find / -name "*" |xargs grep "string"
Can you please let me know how can I try for find/replace (i.e.
finding the intended string inside the text files... (6 Replies)
Need to convert
echo "7 6"
to
$7,$6
But the count of numbers can increase say echo "7,6,8,9" tried this didn't work
echo "7 6" | sed 's/\(*\)/\1/'
But did not help much (3 Replies)
I am looking to find and replace a string in a file, can anyone suggest a global find and replace. looked at previous replies on other queries but none seem to address what i am looking for. aint familiar with sed so trying to use ordinary unix commands if possible
Thanks in advance (2 Replies)
hi,
i have a data in a file like below:
100 8388kmn844., 8488
200 8398kmn894., 8398
i want replace from kmn to . as null.
output should be
100 8388, 8488
200 8398, 8398
Plz help.
Thanks in advance (1 Reply)
Hi,
There are some "n" files in a directory which contains comman string.A command to find and replace the string in all the files without looping.
like if i am in a directory :
# find ./ -name ".txt" | xargs sed -e 's/test/tst'
Upto here is performed correctly and i want to... (4 Replies)
Hi
I am trying to find a product code hightlighted in red, and re-insert it at another place on the same file. I shall be grateful if anyone can help me with this. Stuck and have deadline!!:confused:
Original Line: (I can get source data in one of these two formats)
ISD=977155185403901+DIE... (2 Replies)
I have statement like this
column_id.columnname=="value"
in unix i want to modify above statement to
variable1=="value"
that means i have to replace the string before "==" by string "variable1"
second catch is, in statement instead of "==" you can have any arithmatic comarision... (7 Replies)