Simple Shell Script! Almost Done!


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Simple Shell Script! Almost Done!
# 1  
Old 08-29-2012
Simple Shell Script! Almost Done!

Hello, I am creating a shell script and I am almost done. I have certain things I want done in the shell but don't know how to finish it properly.



Here is what I am aiming to do. I am aiming to have a shell that takes at least 3 parameters. The first two are the two words to replace (the first being the word replaced and the second being the word to replace it with) and then the third (and beyond) parameter, are all the files to make the changes to.

Here is what I have so far but its not working correctly and giving me incorrect output when using special characters such as changing 'Unix' to 'U N I X'



Code:
#!/bin/sh

replace=$1
shift
with=$1
shift
for file in $*
do
   echo $file

newreplace=`echo "$replace" | sed -e "s/$replace/&/g"`

echo $newreplace

sed "s/$newreplace/$with/g" "$file" > "$file.updated"
mv "$file.updated" "$file"
done

# 2  
Old 08-30-2012
Given your 'Unix' to 'U N I X' example, it works for me. I'm a bit unsure what you are trying to accomplish with this statement:

Code:
newreplace=`echo "$replace" | sed -e "s/$replace/&/g"`

Maybe you're just debugging with it, but you're replacing the string with itself which doesn't (to me) seem useful.

Please post a sample of your input, what you expect the result to be, and what you are actually getting. That might help someone here figure out what is going on. Also, the version of your O/S, sed, and shell might be useful to know too.
# 3  
Old 08-30-2012
Here would be the 4 parameters.

'Unix 'U N I X' '_king cobra.dat' '_ne$wt.foo'


That would replace the word Unix with U N I X in the files _king cobra.dat and _ne$wt.foo

When doing it, for whatever reason, it is saying I have the incorrect output for those parameters.

How do I find my version of O/S, sed and shell?
# 4  
Old 08-30-2012
why you are creating newreplace variable
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help on simple shell script

Hello, I need to create one very simple shell script that checks if the first character of the file ./pump.txt is 0 and in that case gives a message. If the first character is instead 1, it does give a different message. I have written: irr= head -c 1 ./pump.txt if ]; then echo... (4 Replies)
Discussion started by: dcaccount
4 Replies

2. Shell Programming and Scripting

Simple Shell Script? Someone help?

Write a shell script which adds up 10 numbers entered by the user and displays the result to the screen. You must use the read command to obtain the numbers from the user. Im a nooby noob (2 Replies)
Discussion started by: LinuxNubBrah
2 Replies

3. Shell Programming and Scripting

Help with simple Shell Script

Hi , I am in need of simple shell script that has one input file containing some words Input file 1 : ****ALEX***JOHN*******VIRGIL***** CHRITINE*****FAISAL*****DON***** ****ALEX***JOHN*******VIRGIL***** CHRITINE*****FAISAL*****DON***** ****ALEX***JOHN*******VIRGIL*****... (6 Replies)
Discussion started by: kmanjuna
6 Replies

4. Shell Programming and Scripting

Help with very simple Shell Script

Write a shell that receives as parameters two folder names. Copies the second folder as subfolder into the first one. Only folders and files with the '.txt' extension will be copied. Detect and avoid recursive copy. This is what I have to do and I don't know where to start. In fact, I started... (5 Replies)
Discussion started by: sharpsh07er
5 Replies

5. Shell Programming and Scripting

Help me with simple shell script.

Hello forum members, I have to redirect a output of command into a text file inside a script file but iam getting an errors.so please see below script and suggest me for corrections. #!/bin/ksh read IP_ADD echo nslookup $IP_ADD 2>&1| tee log1.txt cat /amex/gcst/siva/Testr/log1.txt... (6 Replies)
Discussion started by: rajkumar_g
6 Replies

6. Shell Programming and Scripting

Simple Shell Script

Hello Friends, I am writing a shell script which will grab a file if it exists and copies it to another folder and will append with current date. I have written but gives me error, plz help: -------------------------------------------- #!/usr/bin/sh source=/home/dev4rice/naveen/test1... (4 Replies)
Discussion started by: ganesh123
4 Replies

7. Shell Programming and Scripting

Need help with a very simple shell script

Am VERY new to UNIX and need to know the answer to this particular question :- Write a short shell or perl script to do the following tasks: 4.1 Move all the files mentioned (there are other files in the directory) from their current directory to /home/selvarde/testfiles/ and add the file... (1 Reply)
Discussion started by: samdeb
1 Replies

8. Shell Programming and Scripting

simple shell - how to get a parameter typed in a shell script

Hi, I am new to unix and using linux 7.2. I would like to create a script that would make it easyer for me to run my java programms. At the moment I have to type java myJavaprogram I am trying to write a script that will allow me to type something like this "myscript myJavaprogram" or maybe... (4 Replies)
Discussion started by: cmitulescu
4 Replies

9. Shell Programming and Scripting

Need help in a simple shell script

Hi All I have requirement to write a shell script which would look for the userid which is logged in , and once the User id is found i would delete certain lines from a parameter file .. here is what iam using a=ps -o user | grep -v user | uniq then using an if condition and... (4 Replies)
Discussion started by: raghav1982
4 Replies

10. UNIX for Advanced & Expert Users

I need of a simple shell script

Hi, I need of a simple shell script to launch a perl script. The complet path of the script is: /export/home/x2693/project/v02/appliancemanagement.pl (2 Replies)
Discussion started by: Minguccio75
2 Replies
Login or Register to Ask a Question