![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| find and replace | javeed7 | Shell Programming and Scripting | 1 | 04-02-2008 06:00 AM |
| find and replace | mahabunta | UNIX for Dummies Questions & Answers | 7 | 09-21-2006 09:05 AM |
| find and replace | valhutch | UNIX for Dummies Questions & Answers | 4 | 07-29-2006 02:20 PM |
| find and replace | vikas_j@hotmail | UNIX for Dummies Questions & Answers | 3 | 02-25-2002 02:41 PM |
| Find & Replace | gagansharma | Shell Programming and Scripting | 3 | 11-27-2001 01:17 PM |
|
|
Submit Tools | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
find and replace
Hi,
There are some "n" files in a directory which contains comman string.A command to find and replace the string in all the files without looping. like if i am in a directory : # find ./ -name ".txt" | xargs sed -e 's/test/tst' Upto here is performed correctly and i want to redirect this to the same files.( ie ".txt" replcace ) ( As sed replaces but does modify the files so need to redirect to the same files ) Thanks |
| Forum Sponsor | ||
|
|
|
#2
|
||||
|
||||
|
Quote:
If you have GNU sed Code:
find ./ -name ".txt" | xargs sed -i -e 's/test/tst/g' Code:
find ./ -name ".txt" | xargs perl -pi -e 's/test/tst/g' |
|
#3
|
||||
|
||||
|
GNU sed has the -i option (inline edit) which you are looking for
otherwise, use perl instead of sed: Code:
perl -pi -e 's/test/tst/' |
|
#4
|
|||
|
|||
|
re
I am on HP Unix.
sed has no option "-i" for sed. perl -pi -e 's/test/test' Substitution replacement not terminated at -e line 1. Can't open perl script "s/e/t": No such file or directory I want to redirect to the same files in the directory |
|
#5
|
|||
|
|||
|
needs the / delimiter on the end of the regexp:
perl -pi -e 's/test/test/' |
|||
| Google The UNIX and Linux Forums |