Visit Our UNIX and Linux User Community


Editing one string in multiple files


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Editing one string in multiple files
# 1  
Old 11-09-2001
Question Editing one string in multiple files

I am trying to edit multiple files from one directory and including all the files in all the sub directories. My string opens each file, puts the text on my screen and does not save the new information to the file. I am using a variable in my script, and wondering if that is what is choking it.

so basically.... I have an instance of Bob in several files I want to rename to a variable name. the script asks for the variable and runs with it. But no output. Any ideas??

What I am using is this

find /path/$variable -print -exec sed -e "s/bob/$variable/" {} \;



Thank you!!
# 2  
Old 11-10-2001
I think this is because you are not redirecting the output of sed back into the file, you are just displaying it. I don't know the syntax off the top of my head for the find command to do this but a script like this would work:

#!/bin/sh
files=`find /path/$variable -print `
for i in $files
do
sed -e "s/bob/$variable/" $i > $i.tmp
mv $i.tmp $i
done

I haven't tested this but it should get you in the neigborhood or give you an idea of what you need to modify with your current command.
 

Previous Thread | Next Thread
Test Your Knowledge in Computers #339
Difficulty: Easy
sftp is less secure than ftp for transferring files between computers.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Editing multiple files with vi, why :p is not working

Hi, Can any gurus advise why :p is not working on my vi? When editing multiple files, :n works and it takes me the next file, but :p which is supposed to take me back to the previous file does not work. Please advise. Thanks in advance. (2 Replies)
Discussion started by: newbie_01
2 Replies

2. Shell Programming and Scripting

Script to find & replace a multiple lines string across multiple php files and subdirectories

Hey guys. I know pratically 0 about Linux, so could anyone please give me instructions on how to accomplish this ? The distro is RedHat 4.1.2 and i need to find and replace a multiple lines string in several php files across subdirectories. So lets say im at root/dir1/dir2/ , when i execute... (12 Replies)
Discussion started by: spfc_dmt
12 Replies

3. Shell Programming and Scripting

editing names of files in multiple folder

I have 1000's of directories which is named as numbers. Each directory contains multiple files. Each of these directories have a file named "att". I need to rename all the att files by adding the directory name followed by "_" then att for each of the directories. Directories 120 att... (2 Replies)
Discussion started by: Lucky Ali
2 Replies

4. Shell Programming and Scripting

Changing a string in multiple files

New to scripting and unix. Would like to know how to change a string in a file. eg: From network=/usr/spool/progs/ to network=/spool/progs/ In multiple files. (4 Replies)
Discussion started by: smcraesun
4 Replies

5. Shell Programming and Scripting

How to make an editing script work for multiple files?

Hey everybody, I have a script for making a string substitution in a file. I am trying to modify it in order to make the same modifcation to multiples files. here is what I have so far. #!/bin/csh set p1="$1" shift set p2="$1" shift foreach x ($*) if ( { grep -w -c "$p1" $x } ) then mv... (7 Replies)
Discussion started by: iwatk003
7 Replies

6. Shell Programming and Scripting

Replacing string in multiple files

Hi, I need to replace the string 'abcd' with 'xyz' in a file sample.xml This sample.xml is also present in the subdirectories of the current directory. Eg, If I am in /user/home/ the sample.xml if present in /user/home/ /user/home/folder1/ /user/home/folder2/... (3 Replies)
Discussion started by: arulanandsp
3 Replies

7. Shell Programming and Scripting

Multiple search string in multiple files using awk

Hi, filenames: contains name of list of files to search in. placelist contains the names of places to be searched in all files in "filenames" for i in $(<filenames) do egrep -f placelist $i if ] then echo $i fi done >> outputfile Output i am getting: (0 Replies)
Discussion started by: pinnacle
0 Replies

8. Shell Programming and Scripting

for loop, calling and editing multiple files inside

hey guys, I'm trying to call and modify multiple files inside the for loop, i can't get it to work... ------------------------ AFILE=/dir/a_file.txt BFILE=/dir/b_file.txt CFILE=/dir/c_file.txt ADESTFILE=/dir/a_dest_file.txt BDESTFILE=/dir/b_dest_file.txt... (6 Replies)
Discussion started by: DeuceLee
6 Replies

9. Shell Programming and Scripting

string editing in files

Hi all, I'm fairly new to scripting in linux and need some help. I have an file that looks something like this: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Some comments # Some comments # Some comments # Some comments # Some comments # Some comments abc:/path/to/somewhere:X... (3 Replies)
Discussion started by: Avatar Gixxer
3 Replies

10. UNIX for Dummies Questions & Answers

last occurrence of a string across multiple files

Hello: Thank you for your help. (2 Replies)
Discussion started by: porphyrin
2 Replies

Featured Tech Videos