Scripting Problem


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Scripting Problem
# 1  
Old 06-01-2010
Scripting Problem

Hello guys,

I am a newbie to Shell Scripting. I have an issue. My requirement is to search a pattern in a file and then replace it with another pattern. Please note that I have thousands of files having the same pattern and I have to replace it running a script.
I have created a script as shown below.But it seems to be not working.

======================
Code:
#!/bin/bash
for i in $(grep -irl "include 'http://www.xx.net" /home/xx/)
do
  sed -i "s/include\ 'http:\/\/www.xx.net/include\ '\/home\/xx\/public_html/g" $i
done
echo "done"

======================

The pattern to be replaced is: include 'http://www.xx.net
New pattern is: include '/home/xx/public_html

Please verify this script and let me know, where I am going wrong.

Regards,

Mahesh Raghunandanan

Last edited by Franklin52; 06-01-2010 at 03:06 AM.. Reason: Please indent your code and use code tags!
# 2  
Old 06-01-2010
Quote:
Originally Posted by mahesh_raghu
======================
#!/bin/bash
for i in $(grep -irl "include 'http://www.xx.net" /home/xx/)
do
sed -i "s/include\ 'http:\/\/www.xx.net/include\ '\/home\/xx\/public_html/g" $i
done
echo "done"
======================
Try
Code:
 
for i in `grep -irl "include 'http://www.xx.net" /home/xx/`

# 3  
Old 06-01-2010
Try:
Assuming that you are in the directory where all the files are pesent which contains the pattern

Code:
perl -i -ne "s!include 'http://www.xx.net!include '/home/xx/public_html!g;print;" *

# 4  
Old 06-01-2010
Hello amitranjansahu/dennis.jacob ,

Thanks for your response. I tried the way given by amitranjansahu, but still its not working.
As we are supposed to use only unix commands, so I can't use perl also.

Please help me..
# 5  
Old 06-01-2010
sed using s, you can set some other delimiter as /, ex. + => easier to write path rule.
Code:
for i in $(grep -irl "include 'http://www.xx.net" /home/xx/)
do
  sed -i "s+include 'http://www.xx.net+include '/home/xx/public_html+g"  $i
done

If your sed not support -i then use tmp file
Code:
cp  $i $$.tmp
cat $$.tmp | sed  "s...."  > $i

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

scripting problem

Hi I am doing scripting using EXPECT module. I have successfully created the code through which i can login automatically #!/usr/bin/expect spawn ssh 127.0.0.1 expect "abc@127.0.0.1's password:" send "xyz\r" now i want to create directory #!/usr/bin/expect spawn ssh... (0 Replies)
Discussion started by: esumiba
0 Replies

2. UNIX for Dummies Questions & Answers

scripting problem

HI -rw-r--r-- 1 synapse synapse 5242816 Jan 14 22:02 SMSCLOG.25 -rw-r--r-- 1 synapse synapse 1224138 Jan 14 22:14 SMSCLOG.26 below is the file which are generated after every 10 mins i am trynig do scripting in which latest generated file get cta and give ouput I use the below code ... (1 Reply)
Discussion started by: esumiba
1 Replies

3. Shell Programming and Scripting

Help me solve this scripting problem please

Hello, I would really appreciate some help into approaching this problem: - i have a random txt file with x lines and y rows following this pattern: ex: ip1 | user1 | command ip2 | user2 | command ip3 | user3 | command - i need to telnet/ssh into these ip's, login with... (7 Replies)
Discussion started by: catalinstk
7 Replies

4. Shell Programming and Scripting

Scripting problem

I have one table contains the last field is gender and it is entered in small letter ,i would like to convert to caps after checking the field? eg: eno ename loc gender 1 a ch f 2 b hy M 3 c hy m 4 d ... (1 Reply)
Discussion started by: mrbinoy
1 Replies

5. UNIX for Dummies Questions & Answers

Scripting Problem

Hi, I would like to ask for your help. You see i created a script that runs based on user input. Upon running i encountered an error saying "ksh: syntax error: `else' unmatched". I am quite new to UNIX and to scripting as well. below is my script which created to do this: #!... (1 Reply)
Discussion started by: Knowledge_Xfer
1 Replies

6. Shell Programming and Scripting

scripting problem

I am trying to write a script that tells us whether the permissions for two files, whose names should be given as arguments to the script, are identical. And if the permissions for the two files are identical, have to output the common permission field. or else output each filename, followed by... (0 Replies)
Discussion started by: manojrsb
0 Replies

7. UNIX for Advanced & Expert Users

scripting problem

hI I m very new to unix ,... I m facing an issue I have to search though a list of directorys, find all .gz files which are older than 7 days and delete that ,,, Any one knows a single command to do this .. Thnks in advance BInu (3 Replies)
Discussion started by: msbinu
3 Replies

8. Shell Programming and Scripting

scripting problem

Sorry everyone, i was able to fix it (0 Replies)
Discussion started by: bebop1111116
0 Replies

9. Shell Programming and Scripting

scripting problem

I hv the below script , that is work fine on unix sytem ( ksh ) , but it is not work in my RH system , the script can kill the idle user who have idel for 120 minutes but exclude the user in the exception.lst the error happen when run the statemnt " (( time = $TIMEOU + 1 )) " , could suggest... (3 Replies)
Discussion started by: ust
3 Replies

10. Shell Programming and Scripting

Scripting problem

I'm hoping one of you scripting experts can help me. I'm trying to find out the IP Address of every printer on my HP-UX server. (There's 256 of them) I'm trying to do it using the PERIPH= value in /etc/lp/interface/<printername>, but I'm having problems scripting it as I'm a bit of a newbie. ... (2 Replies)
Discussion started by: Robin
2 Replies
Login or Register to Ask a Question