editing sqlplus id@passwd in multiple scripts, users and directories


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers editing sqlplus id@passwd in multiple scripts, users and directories
# 1  
Old 05-07-2007
editing sqlplus id@passwd in multiple scripts, users and directories

hi all,
i was given by my supervisor a task to search for scripts which contain oracle sqlplus i.e "myusername/mypasswd @myDB" in every /home/userfolder, which are, all the scripts made by different user. I've done some find command to search string for sqlplus, but it may up too long to respond. And it was searching, some directories denied the permission to read the files. May be it was the admin folder(right?i new to UNIX). therefore, i try to search some example in this forum but, unlucky to find one similarly. I need help to clear me up:

1) i log on as normal user only, so, it is possible to editing scripts like i mention above? what about that sort of "permission"?should asking for super user id or not?

2) how am i going to seek for oracle sqlplus scripts which have the "myusername/mypasswd @myDB" in every sh scripts,perl etc in every user directories. And if it found it, it is enable to modified?

3) is there any example/testing sed scripts which i seem maybe would help for
the task?

thanks in advance,

regards,
helmi
# 2  
Old 05-08-2007
Quote:
Originally Posted by Helmi
hi all,
i was given by my supervisor a task to search for scripts which contain oracle sqlplus i.e "myusername/mypasswd @myDB" in every /home/userfolder, which are, all the scripts made by different user. I've done some find command to search string for sqlplus, but it may up too long to respond. And it was searching, some directories denied the permission to read the files. May be it was the admin folder(right?i new to UNIX). therefore, i try to search some example in this forum but, unlucky to find one similarly. I need help to clear me up:
use find with xargs
find . -name '*.*' -print | xargs grep -il 'searchpattern'

if enough permission is not available then use the following form

find . -name '*.*' -print 2>/dev/null | xargs grep -il 'searchpattern'

Quote:
1) i log on as normal user only, so, it is possible to editing scripts like i mention above? what about that sort of "permission"?should asking for super user id or not?
write permission should be available to edit the scripts
root permission is not required as such, it is enough if you have the perms of the owner or write perm to the group atleast


Quote:
2) how am i going to seek for oracle sqlplus scripts which have the "myusername/mypasswd @myDB" in every sh scripts,perl etc in every user directories. And if it found it, it is enable to modified?

3) is there any example/testing sed scripts which i seem maybe would help for
the task?
Sorry am not clear with this !
# 3  
Old 05-08-2007
for "search pattern" you can use:

grep -i "sqlplus.*\@"

This will find all occurrences of sqlplus, followed by any number of characters, followed by the @ sign. The backslash "\" escapes the @ sign so as not to be interpreted by the shell.
# 4  
Old 05-08-2007
i think most unix operating systems support the following

find . -type f -exec grep -l sqlplus.*\@ {} \;

find from the current directory down, all files - execute the command 'grep -l sqlplus.*\@' on each of the files

grep -l sqlplus.*\@ displays each file name that contains sqlplus followed by any character up to the '@' sign

Last edited by TinWalrus; 05-08-2007 at 10:28 PM..
# 5  
Old 05-08-2007
Thanks for the replies.
Quote:
2) how am i going to seek for oracle sqlplus scripts which have the "myusername/mypasswd @myDB" in every sh scripts,perl etc in every user directories. And if it found it, it is enable to modified?

3) is there any example/testing sed scripts which i seem maybe would help for
the task?
matrixmadhan , supposed that, i found all the script using what you guys have told me, if there any help on how to edit the pattern that i found and apply it all to scripts e.g:
Code:
find . -name '*.*' -print | xargs grep -il 'searchpattern' | sed 's/oldsearchpattern/newsearchpattern/g' (i don't know if this is the correct term of using sed!)

to make it clear:
Code:
in /home/user/

a.sh
b.sh
c.sh

i found above 3 shell script contained the "user/passwd @DB", then
is there any example shell script/sed scripts that could alter or modified all three scripts where i just input the new "user/passwd @DB" when i running the example script.

sorry for much of request,

Regards,
Helmi
# 6  
Old 05-08-2007
you could do something like the following...

Code:
#!/bin/ksh
for file in $(find . -type f -exec grep -l sqlplus.*\@ {} \;); do
        echo ${file}
        sed -e 's%sqlplus user/pword@sid%sqlplus newuser/newpword@newsid%g' < ${file} > ${file}.$$
        mv ${file}.$$ ${file}
done

replace user, pword, sid with the current
replace newuser, newpword,newsid with replacement


run from parent directory, you should back up everything first Smilie

Last edited by TinWalrus; 05-08-2007 at 11:50 PM..
# 7  
Old 05-09-2007
thanks all!
i try to think that if the script to edit the sqlplus is running, it will also edit the all the variables that set in that editing scripts. Hence, if being executed for the second time, nothing will changed, right?

using:
Code:
find . -type f -exec grep -l sqlplus.*\@ {} \;

will result:
Code:
./sql
./editor.sh

where editor.sh contained those variable of sqlplus. how to avoid this editor.sh also being edited? But, anyway, it is okay since i have to run this jus t once. Thanks again

Regards,
Helmi
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Multiple Users - Multiple Scripts

Hello All, I have to restart 100's of scripts for at least 20+ users once the server restarts for any reason. I wanted to come up with a single script to trigger of all scripts/programs under all users with just one script (without root privilege). Is it possible to do so? :confused: If not,... (6 Replies)
Discussion started by: PikK45
6 Replies

2. Solaris

Can't change users passwd

Have an issue with a user or root changing the user's passwd. We run the passwd command and a complex passwd is entered a message is displayed, "passwd is based on a dictionary word." We do have a dictionary file and I know for a fact the complex passwd is not in the list. This happens on a... (3 Replies)
Discussion started by: solizkewl
3 Replies

3. Shell Programming and Scripting

Removing old user directories that are no longer Users in /etc/passwd

I am new to shell scripting, and have not done much programming in several years. So I am very rusty at this at best. I know my way around the linux command line, but actually scripting is something I have not done too much of. I have been tasked to come up with a script that will pull all... (5 Replies)
Discussion started by: shuiend
5 Replies

4. Shell Programming and Scripting

Find and execute shell scripts in multiple sub directories in parallel

I have one parent directory and within that parent directory there are several other sub-directories and within those sub-directories there are several other "large number" of sub-directories. All the sub directories have a shell script in them with a common file name execute_command.sh I want... (4 Replies)
Discussion started by: shoaibjameel123
4 Replies

5. UNIX and Linux Applications

how to execute multiple .sql scripts from within a shell script using sqlplus

using sqlplus I want to execute a .sql script that has dbms_output statments in rhe script. I want to write the dbms_output statements from .sql file to a log file. is this possible. thanks any help would be appreciated :wall: (1 Reply)
Discussion started by: TRS80
1 Replies

6. Shell Programming and Scripting

Number of users in passwd

This command prints out username/users in /etc/passwd: cut -d ':' -f '1,5' /etc/passwd | sort I wonder if I also, after above commands output, can get an output that lists number of users in the group? I need to use uniq to get rid of duplicates. I´ve tried this, but cant get it right, can... (5 Replies)
Discussion started by: oskis
5 Replies

7. Shell Programming and Scripting

append 3 users in /etc/passwd

I am looking to add 3 lines in /etc/passwd via a script. Can you please give me an idea on how to write a script that can do that? (3 Replies)
Discussion started by: melanie_pfefer
3 Replies

8. Shell Programming and Scripting

SQLplus in Shell scripts

How to execute a query which is stored in a variable. Say for example : v_source_query=”select count(*) from emp” v_source_value=`sqlplus -S "$DATABASE_LOGIN" << EOF | tr '\n' ' ' set feed off set pagesize 0 set head... (12 Replies)
Discussion started by: trupti_d
12 Replies

9. Shell Programming and Scripting

Scripts for ID´s free in /etc/passwd

As extracting of the file /etc/passwd the ID´s that have not been used in a range specifies. (2 Replies)
Discussion started by: oscar_acm
2 Replies

10. UNIX for Advanced & Expert Users

sqlplus and sh scripts (to_char command))

Hi evrybody!!!! I have a problem with this shell script INICIO=$(sqlplus -s user/user@db1 << END | awk '{printf $1}' set head off set feed off select to_char(min(create_dt) , 'HH24') from table_name where trunc(create_dt)=trunc(sysdate-2); END) I want to recover, in INICIO, the min... (4 Replies)
Discussion started by: josecollantes
4 Replies
Login or Register to Ask a Question