fast search and replace in all files

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting fast search and replace in all files
# 1  
Old 01-25-2008
fast search and replace in all files


I need to find one string in all files and replace tht string with blank space and need to redirect all the files into the same directory again.

now i am using

find ./ -name "*.dmp" | xargs perl -pi -e 's/\\N//g' | sed 's/.$//g'

but now its not redirrecting properly .

its taking too much time for this operation.

Is there any way to search and replace very fast in all thousand files quickly without looping.
# 2  
Old 01-25-2008
This removes \N, replaces it with " "and then chops off the last character of each line and inserts a space there. Do you know about dos2unix (or dos2ux)?

find ./ -name "*.dmp" | xargs perl -pi -e 's/\\N/ /g; s/.$/ /g'

If you want it to run faster try using background processes:
find ./ -name "*.dmp" |\
while read file do
  perl -pi -e 's/\\N/ /g; s/.$/ /g'  $file  &
  z=$(( $cnt % 10 ))
  if [[ $z -eq 0 ]] ; then

This runs ten process at the same time in background. And then waits for completion. The code you proivided does not replace the characters with a space

Last edited by vgersh99; 01-25-2008 at 02:43 PM.. Reason: missing ']'
# 3  
Old 01-25-2008
Hi its giving error message with the use above code
syntax error at line 7: ']' unexpected
# 4  
Old 01-25-2008
I've edited the original posting by Jim.
# 5  
Old 01-25-2008

Is it working?

Is it possible to replace the below sed syntax also to the above xargs perl
sed -e :a -e '/;$/!N;s/\n//; ta' -e 's/;$//' file
# 6  
Old 01-25-2008
Really, the requirements are ridiculous. There is no way to search and replace anything in thousands of files quickly. You might find some ways to faster than others, but nothing is going to be a magic bullet. I suggest you try perls inplace editor, it might be faster than sed although I don't really know.
# 7  
Old 01-25-2008
Hi kevin

Do u know how to replace sed with perl in the below syntax

sed -e :a -e '/;$/!N;s/\n//; ta' -e 's/;$//' file
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Search in one type of files and replace

I am not sure how to search and replace the word in the few specific files. I need to search and replace word in only the name containing pepsi in the filename. (12 Replies)
Discussion started by: ramkumar15
12 Replies

2. Shell Programming and Scripting

Search replace with awk using 2 files

I have a bit of a complex problem that I would like to solve with awk. It is essentially a 2-part problem. I have a large directory of files with the same format, each with 266 lines. The first 206 lines of each file are filled with attribute information. Then the following 60 lines consist... (4 Replies)
Discussion started by: owwow14
4 Replies

3. Shell Programming and Scripting

Search and Replace in multiple files

Hello, I have hundreds of files in which I need to change email address. Here is what I am trying to do: 1. All text files are in a directory "a" 2. In the text file, I want to replace email address for preparer. All these lines start with {{PreparerEmail and end with }}. The email... (3 Replies)
Discussion started by: cartrider
3 Replies

4. Programming

Search and replace in two different files

Hi there, i got the following problem. i need a bash script to correct e-mail addresses in an csv. i got a huge csv like this A B C D heiner holber So A is the wrong... (8 Replies)
Discussion started by: molker
8 Replies

5. UNIX for Dummies Questions & Answers

Search and replace across files

Hi All, HP-UX oradev3 B.11.11 U 9000/800 3251073457 I have following files all contains text like "919642990137@". I need to search this text across all files and replace it with something like "919717298765@". I was wondering, how to accomplish this task? (8 Replies)
Discussion started by: alok.behria
8 Replies

6. Shell Programming and Scripting

Search and replace string in files

I'm trying to remove the following string from several files. <img heigth="1" width="1" border="0" src="">I'm using the following script #!/bin/bash # This script will search and replace all regular files for a string # supplied by the user and... (1 Reply)
Discussion started by: d13g0sv
1 Replies

7. Shell Programming and Scripting

Search and replace text in many files

Hello, I am very new to Linux and am trying to find a way for following problem. I have a number of files in a folder as Export000.dat, Export001.dat ..and so on. Each file has a string field 'Absolute velocity'. I want it to be replaced by 'Pixel shift' in all the files. I tried something like... (4 Replies)
Discussion started by: chirag.joshi
4 Replies

8. Shell Programming and Scripting

search and replace in many files

I have a directory full of files. Most of the code in the files is the same accept for a few parameter values. I want to remove hard coded values and replace it with a parameter that I can pass. This is oracle pl/sql anonymous blocks. so the code is similiar to this function myfunc (p_myvar ... (1 Reply)
Discussion started by: guessingo
1 Replies

9. Shell Programming and Scripting

Search and Replace between two files

Hi all- I've got 2 files: One is the final results and one is a result set from a query. In the final results files I have placeholder strings in there that need to be replaced by the corresponding strings from the query file. So File#1 (FINAL RESULTS) LINEID CLIENT ID REP ... (1 Reply)
Discussion started by: Cailet
1 Replies

10. Shell Programming and Scripting

Fast way of find and replace, help

Hi All, I have nearly 200 files in a directory, each file is of nearly of 5000 lines. Each line of each file is having its 3rd field to be replaced by corresponding replace_string(2nd field of file1.out below). i.e. -Search the 3rd field of each line of each of 200 files in file1.out, get... (1 Reply)
Discussion started by: jkl_jkl
1 Replies
Login or Register to Ask a Question