Sponsored Content
Full Discussion: To Replace a line in a file
Top Forums Shell Programming and Scripting To Replace a line in a file Post 302898143 by Stars_perform on Saturday 19th of April 2014 03:11:45 AM
Old 04-19-2014
To Replace a line in a file

Hi Folks,

I am trying to replace large string(jdbc url) in a property file. I have many such property files in subfolders where i need to replace jdbc url. Below is the code that i have tried but it does not work.
Need your suggestions for the same.

.property file will have value like below.
Code:
JDBC_URL=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=stora.com)(PORT=1521))(LOAD_BALANCE=YES)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=STYU)(FAILOVER_MODE=
(TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY=5))))"
 
INSTALL_ID=KTJUM


change.sh is the file where i am writing below code:


Code:
NEW="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=stem.com)(PORT=1521))(LOAD_BALANCE=YES)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=uyet)(FAILOVER_MODE=
(TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY=5))))"
 
 
for file in `find . -name *.properties`
do 
cat $file |grep -iw "JDBC_URL"|cut -d '@' -f2|read OLD
echo "perl -i -p -e 's/$OLD/$NEW/g' $file" |sh
done

OLD variable contains below string from file:
Code:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=stora.com)(PORT=1521))(LOAD_BALANCE=YES)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=STYU)(FAILOVER_MODE=
(TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY=5))))"

When i do this, the OLD string is not getting replaced with new String. But when i do the same thing for other line in file like install_id, the perl command works.

Please suggest what i am missing in the code and how better i can work.


PS: there is no underline for delimiter @ but i dont why i am getting here in the above i tried undoing the underline but it isnot working. Please ignore the underline.

Last edited by Scrutinizer; 04-19-2014 at 06:08 AM.. Reason: code tags
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to replace a line in file with blank line

Hi I nned cmd to which will help me to replace a line in file with blank line e.g. file1 a b c d e after running cmd I shud get file1 b c d e (5 Replies)
Discussion started by: tarunn.dubeyy
5 Replies

2. Shell Programming and Scripting

Read file and for each line replace two variables, add strings and save output in another file

Hi All, I have a file, let's call it "info.tmp" that contains data like this .. ABC123456 PCX333445 BCD789833 I need to read "info.tmp" and for each line add strings in a way that the final output is put /logs/ua/dummy.trigger 'AAA00001.FTP.XXX.BLA03A01.xxxxxx(+1)' where XXX... (5 Replies)
Discussion started by: Andy_ARG
5 Replies

3. Shell Programming and Scripting

Optimised way for search & replace a value on one line in a very huge file (File Size is 24 GB).

Hi Experts, I had to edit (a particular value) in header line of a very huge file so for that i wanted to search & replace a particular value on a file which was of 24 GB in Size. I managed to do it but it took long time to complete. Can anyone please tell me how can we do it in a optimised... (7 Replies)
Discussion started by: manishkomar007
7 Replies

4. Shell Programming and Scripting

sed to replace a line with modified line in same file

i have few lines in a file... i am reading them in a while loop so a particular line is held is $line1.. consider a modified line is held in $line2.... i want to replace $line1 with $line2 in the same file... how to do it..? i have come up till the below code sed "s/$line1/$line2/g" tmpfile.sql... (5 Replies)
Discussion started by: vivek d r
5 Replies

5. Shell Programming and Scripting

Replace line in file with line in another file based on matching string

Hi I am not the best scripter in the world and have run into a issue which you might be able to guide me on... I have two files. File1 : A123, valueA, valueB B234, valueA, valueB C345, valueA, valueB D456, valueA, valueB E567, valueA, valueB F678, valueA, valueB File2: C345,... (5 Replies)
Discussion started by: luckycharm
5 Replies

6. Shell Programming and Scripting

Replace Each Line Of A File

Hi All, I want to repalce each line of a file by a constant value using awk. I do not need to match the pattern and replace and I also do not need to perform replace for selected lines of file. Every line in the file will be replace by the constant value. I searched every where and did not... (2 Replies)
Discussion started by: angshuman
2 Replies

7. Shell Programming and Scripting

Replace and add line in file with line in another file based on matching string

Hi, I want to achieve something similar to what described in another post: The difference is I want to add the line if the pattern is not found. File 1: A123, valueA, valueB B234, valueA, valueB C345, valueA, valueB D456, valueA, valueB E567, valueA, valueB F678, valueA, valueB ... (11 Replies)
Discussion started by: jyu3
11 Replies

8. Shell Programming and Scripting

Replace line in file with line in another file based on matching string

HI Can any one guide me how to achieve this task. I have 2 files env.txt #Configuration.Properties values identity_server_url = http://identity.test-hit.com:9783/identity/service/user/register randon_password_length = 6 attachment_file_path = /pass/temp/attachments/... (1 Reply)
Discussion started by: nikilbr86
1 Replies

9. Shell Programming and Scripting

sed command to replace a line in a file using line number from the output of a pipe.

Sed command to replace a line in a file using line number from the output of a pipe. Is it possible to replace a whole line piped from someother command into a file at paritcular line... here is some basic execution flow.. the line number is 412 lineNo=412 Now i have a line... (1 Reply)
Discussion started by: vivek d r
1 Replies

10. Shell Programming and Scripting

Replace line for another line in file

Hey, i have been struggeling to find the answer myself so this is the best forum has alwyas help me :) i have an API that get data from a provider via curl. the data comes like this : AccountCode1234 CompneyNameA Credit: 200 AccountCode5678 CompneyNameB Credit: 200 AccountCode999... (3 Replies)
Discussion started by: batchenr
3 Replies
asadmin(1M)						    Application Server Utility						       asadmin(1M)

NAME
asadmin - utility for performing administrative tasks for the Sun Java System Application Server SYNOPSIS
asadmin subcommand [-short_option[short_option_argument]]* [--long_option[long_option_argument]]* [operand]* Use the asadmin utility to perform any administrative task for the Sun Java System Application Server. You can use this utility in place of using the Administration Console. The subcommand identifies the operation or task you wish to perform. Subcommands are case-sensitive. Short option arguments have a single dash (-); while long option arguments have two dashes (--). Options modify how the utility performs a subcommand. Options are also case- sensitive. Most options require argument values except boolean options which toggle to switch a feature ON or OFF. Operands appear after the argument values, and are set off by a space, a tab, or double dashes (--). The asadmin utility treats anything that comes after the options and their values as an operand. Local subcommands can be executed without the presence of an administration server. However, it is required that the user be logged into the machine hosting the domain in order to execute the subcommand and have access (permissions) for the installation and domain directo- ries. Remote subcommands are always executed by connecting to an administration server and executing the subcommand there. A running administra- tion server is required. All remote subcommands require the following options: -u --user authorized domain application server administrative username. -w --password password to administer the domain application server. -H --host machine name where the domain application server is running. -p --port port number of the domain application server listening for administration requests. -s --secure if true, uses SSL/TLS to communicate with the domain application server. -t --terse indicates that any output data must be very concise, typically avoiding human-friendly sentences and favoring well- formatted data for consumption by a script. Default is false. -e --echo setting to true will echo the command line statement on the standard output. Default is false. -I --interactive if set to true (default), only the required password options are prompted. For security purposes, you can set the password for a subcommand from a file instead of entering the password at the command line. The --passwordfile option takes the file containing the passwords. The valid contents for the file are: AS_ADMIN_PASSWORD=value AS_ADMIN_ADMINPASSWORD=value AS_ADMIN_USERPASSWORD=value Given the --passwordfile option and its value, the password options in the passwordfile are exported to the global environment; subsequent subcommands without the password options take this value. However, if both the --password and --passwordfile options are specified on the command line, the password value in the passwordfile is exported to the global environment and subsequent subcommands without the --pass- word option would take this value. However, for the current subcommand, the --password option value specified on the command line is taken since the --password option takes precedence over the --passwordfile option. To use the --secure option, you must use the set command to enable the security--enabled flag in the admin http-listener in the domain.xml. When you use the asadmin subcommands to create and/or delete, you must restart the server for the newly created command to take affect. Use the start-domain command to restart the server. Some characters, such as the colon (:), the asterisk (*), and the backslash(, cause errors if you use them in the command syntax unless you use escape characters to set them off. The possibilities for using escape characters vary depending upon what platform you use and whether you use singlemode or multimode. You do not need to use escape characters for colons in the get or set commands. On UNIX, in singlemode, you can use either two backslashes () or double-quotes (" ") to escape restricted characters. For example, when creating a JDBC connection pool with an option whose value includes colons, you could use backslashes (example assumes the environment variables have been set for some properties): asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvali- datereq=true --property url=jdbc:oracle:thin:@asperfsol8:1521:V8i:user=staging_lookup_app:password=staging_lookup_app OraclePoollookup To use quotes in the same example as above, you would enclose the value in double quotes (") and escape the double quotes with the back- slash. asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvali- datereq=true --property url= word=staging_lookup_app OraclePoollookup On windows, in singlemode, you can escape using the backslash character. For example, when creating a JDBC connection pool with an option whose value includes colons, you could use backslashes (example assumes the environment variables have been set for some properties): asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvali- datereq=true --property url=jdbcoraclethin@asperfsol81521V8i:user=staging_lookup_app:pas sword=staging_lookup_app OraclePoollookup On any platform, in singlemode, you can use backslashes to escape the character and enclose the value containing the escaped characters in double quotes. For example, when creating a JDBC connection pool with a option whose value includes colons, you could use the escape char- acters as follows (example assumes the environment variables have been set for some properties): asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvali- datereq=true --property url="jdbcoraclethin@iasperfsol81521V8i":user=staging_lookup_app: password=staging_lookup_app OraclePoollookup On any platform, in multimode, you can use the following syntax, which only requires quotes, not slashes or backslashes: asadmin> create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvali- datereq=true --property url="jdbc:oracle:thin:@asperfsol8:1521:V8i":user=staging_lookup_app:password=staging_lookup_app OraclePoollookup To access the manpages for the Application Server Command-line interface subcommands, add $AS_INSTALL/man to your MANPATH environment vari- able. You can obtain overall usage information for any of the asadmin utility subcommands by invoking the --help option. If you specify a sub- command, the usage information for that subcommand is displayed. Using the help option without a subcommand displays a listing of all the available subcommands. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Unstable | +-----------------------------+-----------------------------+ appclient(1M), package-appclient(1M) J2EE 1.4 SDK March 2004 asadmin(1M)
All times are GMT -4. The time now is 07:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy