Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Find and replace a string in multiple files Post 302143942 by pharos467 on Monday 5th of November 2007 01:02:58 PM
Old 11-05-2007
Find and replace a string in multiple files

I used the following script


cd pathname
for y in `ls *`;
do sed "s/ABCD/DCBA/g" $y > temp; mv temp $y;
done



and it worked fine for finding and replacing strings with names etc. in all files of the given path.

I'm trying to replace a string which consists of path (location of file)

say instead of ABCD i have to replace c:/mydocuments/pictures to
d:/mypics/personal , as metacharacters wont be searched in unix this script is failing to replace the string which has a path in it.

now my script is


cd pathname
for y in `ls *`;
do sed "s/'c:/mydocuments/pictures'/'d:/mypics/personal'/g" $y > temp; mv temp $y;
done





i tired giving the path in single quotes and double quotes, but i see error

sed: command garbled: s/'c:/mydocuments/pictures'/'d:/mypics/personal'/g



And all the contents of the files in the path are erased.
Smilie
Is there any other way to work this out.

Thanks
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

shell script to find and replace string in multiple files

I used the following script cd pathname for y in `ls *`; do sed "s/ABCD/DCBA/g" $y > temp; mv temp $y; done and it worked fine for finding and replacing strings with names etc. in all files of the given path. I'm trying to replace a string which consists of path (location of file) ... (11 Replies)
Discussion started by: pharos467
11 Replies

2. Shell Programming and Scripting

awk find and replace in multiple files

Hi I use the following code to replace ‘.' with ‘N' in my files and keep both versions. awk '{ gsub(/\./,"N"); print }' file_0001.txt > path/to/new/dir/file_0001.txt I need help on how to apply the code to 100 files instead of doing them one file at a time. The files are labeled... (7 Replies)
Discussion started by: jdhahbi
7 Replies

3. Shell Programming and Scripting

Find & Replace string in multiple files & folders using perl

find . -type f -name "*.sql" -print|xargs perl -i -pe 's/pattern/replaced/g' this is simple logic to find and replace in multiple files & folders Hope this helps. Thanks Zaheer (0 Replies)
Discussion started by: Zaheer.mic
0 Replies

4. Shell Programming and Scripting

String search and replace in multiple files.

Hello. I have five config files in /etc that I want to edit in one click for testing. I would like to make a script like this : #!/bin/bash # a_file="/etc/file_1" src_str="src_string_1" rpl_str="rpl_string_1" calling_sed_or_awk_or_whatelse $a_file search_for_all $src_str replace_with... (4 Replies)
Discussion started by: jcdole
4 Replies

5. UNIX for Dummies Questions & Answers

replace string in multiple files

Hi, I'm new to Unix. My understanding of Unix and its command is very limited. I have about 1000 text files that have a word in it that I need to replace with a different word. e.g. a.txt has 1 line of txt: monday, tuesday, wednesday b.txt has 1 line of txt: monday, tuesday,... (5 Replies)
Discussion started by: millsy5
5 Replies

6. 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

7. Shell Programming and Scripting

Find multiple strings and replace single string

Hi, following Perl code i used for finding multiple strings and replace with single string. code: #!/usr/bin/perl my @files = <*.txt>; foreach $fileName (@files) { print "$fileName\n"; my $searchStr = ',rdata\)' | ',,rdata\)' | ', ,rdata\)'; my $replaceStr =... (2 Replies)
Discussion started by: chettyravi
2 Replies

8. Shell Programming and Scripting

Find and replace in multiple files

Hi, I have php files in main dir and sub dir's as well. I need to find "new mysqli('localhost', 'System', 'xxxxxx', 'System', '3306');" and replace as "new mysqli('localhost', 'unx_sys', 'yyyy', 'unx_sys', '3306');" I tried like: sed 's/new mysqli\(*\)\;$/new... (1 Reply)
Discussion started by: ashokvpp
1 Replies

9. UNIX for Beginners Questions & Answers

Find and replace from multiple files

Hello everybody, I need your help. I have a php site that was expoited, the hacker has injected into many php files a phishing code that was discovered and removed in order to have again a clean code. Now we need to remove from many php files that malware. I need to create a script that find and... (2 Replies)
Discussion started by: ninocap
2 Replies

10. UNIX for Beginners Questions & Answers

Find all .sh files in file system and need to replace the string inside .sh files

Hi All, I need to write a script to find all "*.sh" files in /home file system and if any string find "*.sh" files with the name vijay@gmail.com need to replace with vijay.bhaskar@gmail.com. I just understood about the find the command to search .sh files. Please help me on this. find / -name... (3 Replies)
Discussion started by: bhas85
3 Replies
PATH2LISTING(1) 					      General Commands Manual						   PATH2LISTING(1)

NAME
path2listing - script facilitating the conversion to managing gconf configuration sources with desktop-profiles SYNOPSIS
path2listing [options] DESCRIPTION
This script takes a single gconf path file (the systemwide one, i.e. /etc/gconf/2/path, when not told otherwise) and reads through it in order to create an ordered list of known configuration sources (it will recurse into included path files when necessary). Using that ordered list it will then create a desktop-profiles_path2listing.listing file containing metadata for all known configuration sources, assigning a precedence value to each encountered configuration source so that: a) the order of sources is the same b) there is space between the precedence values of the various sources to allow for inclusion of additional profiles in the future. c) all mandatory sources have a positive precedence value, and all non-mandatory sources have a negative precedence value In addition to generating the desktop-profiles_path2listing.listing file, this script will also replace the converted path file by one that assumes that desktop-profiles manages all configuration sources (NOTE: a backup copy of all changed files is made, so you can always go back to the previous situation). OPTIONS
-d,--distance distance between the precedence values of each successive pair of configuration sources (defaults to 50), the idea being that you leave some space to insert future sources. -f, --file path file to convert (defaults to /etc/gconf/2/path) -h, --help display the help message -o, --output-file file to put the generated metadata in (defaults to /etc/desktop-profiles/desktop-profiles_path2listing.listing). If this file exists a backup copy will be made prior to overwriting it. --no-replace-file don't replace the path file we're converted with one assuming desktop-profiles manages activation FILES
/etc/gconf/2/path - systemwide gconf path file, default path file to convert /etc/desktop-profiles/desktop-profiles_path2listing.listing - default name for the file containing the generated metadata AUTHOR
This manual page was written by Bart Cornelis <cobaco@skolelinux.no>. SEE ALSO
desktop-profiles(7) desktop-profiles May 07, 2005 PATH2LISTING(1)
All times are GMT -4. The time now is 01:43 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy