Sponsored Content
Top Forums Shell Programming and Scripting Find and Replace in multiple files (Shell script) Post 26660 by asifraj on Thursday 22nd of August 2002 12:37:25 AM
Old 08-22-2002
well there are so many different ways of doing it.

but what i am suggesting is why unnecessary create a temporary file when you can do without.

also, any suggestions from anyone, which of the above mentioned methods would be fastest.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find and replace files in multiple folders

Hi there, I would like to write a script to automate the copy and renaming of files in multiple dir. I have a generic file named s253e.prb and would like to copy this to multiple dir and rename it. Example: Dir is AL-M1 and the prb file name is AL-M1.prb. I would like to be able to... (6 Replies)
Discussion started by: lodey
6 Replies

2. UNIX for Dummies Questions & Answers

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) ... (2 Replies)
Discussion started by: pharos467
2 Replies

3. Shell Programming and Scripting

Shell Script to replace tokens in multiple files

I have multiple script files that I have created, that allow me to simply replace a few tokens at the top of the file, and then not have to go through the actual script and change anything. I have about 10 of them, but I was hoping to find a way to write a small script that would allow me to input... (20 Replies)
Discussion started by: cbo0485
20 Replies

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

5. UNIX for Dummies Questions & Answers

how to find and replace strings in multiple files

Hi All, Iam new to unix, I need to find string and replace it in the file name. Like text_123_0.txt,text_123_1.txt,text_123_2.txt. I need to search 123 and replace it with 234 . Is there any unix command to replace them in single command since i have 5 directories. So i need to go each and every... (0 Replies)
Discussion started by: etldeveloper
0 Replies

6. UNIX for Advanced & Expert Users

linux find and replace in multiple files

Is there a reason why all of these examples of linux find and replace in multiple files use find and grep to pipe into sed or perl. Why not just use sed or perl directly with something like this? sed -i 's/echo/burnbaby/g' booboo*... (2 Replies)
Discussion started by: cokedude
2 Replies

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

8. Shell Programming and Scripting

Shell script to find and replace contents of files in directory

Hi all This is my first post. Please bear with me with all my mistakes. I started learning shell since couple of days now and this might be quite basic for all, i want to search for files in a directory containing specific string and replace it with new string. The code i wrote is quite bulky... (2 Replies)
Discussion started by: theprogrammer
2 Replies

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

10. 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
IO::ScalarArray(3)					User Contributed Perl Documentation					IO::ScalarArray(3)

NAME
IO::ScalarArray - IO:: interface for reading/writing an array of scalars SYNOPSIS
Perform I/O on strings, using the basic OO interface... use IO::ScalarArray; @data = ("My mes", "sage: "); ### Open a handle on an array, and append to it: $AH = new IO::ScalarArray @data; $AH->print("Hello"); $AH->print(", world! Bye now! "); print "The array is now: ", @data, " "; ### Open a handle on an array, read it line-by-line, then close it: $AH = new IO::ScalarArray @data; while (defined($_ = $AH->getline)) { print "Got line: $_"; } $AH->close; ### Open a handle on an array, and slurp in all the lines: $AH = new IO::ScalarArray @data; print "All lines: ", $AH->getlines; ### Get the current position (either of two ways): $pos = $AH->getpos; $offset = $AH->tell; ### Set the current position (either of two ways): $AH->setpos($pos); $AH->seek($offset, 0); ### Open an anonymous temporary array: $AH = new IO::ScalarArray; $AH->print("Hi there!"); print "I printed: ", @{$AH->aref}, " "; ### get at value Don't like OO for your I/O? No problem. Thanks to the magic of an invisible tie(), the following now works out of the box, just as it does with IO::Handle: use IO::ScalarArray; @data = ("My mes", "sage: "); ### Open a handle on an array, and append to it: $AH = new IO::ScalarArray @data; print $AH "Hello"; print $AH ", world! Bye now! "; print "The array is now: ", @data, " "; ### Open a handle on a string, read it line-by-line, then close it: $AH = new IO::ScalarArray @data; while (<$AH>) { print "Got line: $_"; } close $AH; ### Open a handle on a string, and slurp in all the lines: $AH = new IO::ScalarArray @data; print "All lines: ", <$AH>; ### Get the current position (WARNING: requires 5.6): $offset = tell $AH; ### Set the current position (WARNING: requires 5.6): seek $AH, $offset, 0; ### Open an anonymous temporary scalar: $AH = new IO::ScalarArray; print $AH "Hi there!"; print "I printed: ", @{$AH->aref}, " "; ### get at value And for you folks with 1.x code out there: the old tie() style still works, though this is unnecessary and deprecated: use IO::ScalarArray; ### Writing to a scalar... my @a; tie *OUT, 'IO::ScalarArray', @a; print OUT "line 1 line 2 ", "line 3 "; print "Array is now: ", @a, " " ### Reading and writing an anonymous scalar... tie *OUT, 'IO::ScalarArray'; print OUT "line 1 line 2 ", "line 3 "; tied(OUT)->seek(0,0); while (<OUT>) { print "Got line: ", $_; } DESCRIPTION
This class is part of the IO::Stringy distribution; see IO::Stringy for change log and general information. The IO::ScalarArray class implements objects which behave just like IO::Handle (or FileHandle) objects, except that you may use them to write to (or read from) arrays of scalars. Logically, an array of scalars defines an in-core "file" whose contents are the concatenation of the scalars in the array. The handles created by this class are automatically tiehandle'd (though please see "WARNINGS" for information relevant to your Perl version). For writing large amounts of data with individual print() statements, this class is likely to be more efficient than IO::Scalar. Basically, this: my @a; $AH = new IO::ScalarArray @a; $AH->print("Hel", "lo, "); ### OO style $AH->print("world! "); ### ditto Or this: my @a; $AH = new IO::ScalarArray @a; print $AH "Hel", "lo, "; ### non-OO style print $AH "world! "; ### ditto Causes @a to be set to the following array of 3 strings: ( "Hel" , "lo, " , "world! " ) See IO::Scalar and compare with this class. PUBLIC INTERFACE
Construction new [ARGS...] Class method. Return a new, unattached array handle. If any arguments are given, they're sent to open(). open [ARRAYREF] Instance method. Open the array handle on a new array, pointed to by ARRAYREF. If no ARRAYREF is given, a "private" array is created to hold the file data. Returns the self object on success, undefined on error. opened Instance method. Is the array handle opened on something? close Instance method. Disassociate the array handle from its underlying array. Done automatically on destroy. Input and output flush Instance method. No-op, provided for OO compatibility. getc Instance method. Return the next character, or undef if none remain. This does a read(1), which is somewhat costly. getline Instance method. Return the next line, or undef on end of data. Can safely be called in an array context. Currently, lines are delimited by " ". getlines Instance method. Get all remaining lines. It will croak() if accidentally called in a scalar context. print ARGS... Instance method. Print ARGS to the underlying array. Currently, this always causes a "seek to the end of the array" and generates a new array entry. This may change in the future. read BUF, NBYTES, [OFFSET]; Instance method. Read some bytes from the array. Returns the number of bytes actually read, 0 on end-of-file, undef on error. write BUF, NBYTES, [OFFSET]; Instance method. Write some bytes into the array. Seeking/telling and other attributes autoflush Instance method. No-op, provided for OO compatibility. binmode Instance method. No-op, provided for OO compatibility. clearerr Instance method. Clear the error and EOF flags. A no-op. eof Instance method. Are we at end of file? seek POS,WHENCE Instance method. Seek to a given position in the stream. Only a WHENCE of 0 (SEEK_SET) is supported. tell Instance method. Return the current position in the stream, as a numeric offset. setpos POS Instance method. Seek to a given position in the array, using the opaque getpos() value. Don't expect this to be a number. getpos Instance method. Return the current position in the array, as an opaque value. Don't expect this to be a number. aref Instance method. Return a reference to the underlying array. WARNINGS
Perl's TIEHANDLE spec was incomplete prior to 5.005_57; it was missing support for "seek()", "tell()", and "eof()". Attempting to use these functions with an IO::ScalarArray will not work prior to 5.005_57. IO::ScalarArray will not have the relevant methods invoked; and even worse, this kind of bug can lie dormant for a while. If you turn warnings on (via $^W or "perl -w"), and you see something like this... attempt to seek on unopened filehandle ...then you are probably trying to use one of these functions on an IO::ScalarArray with an old Perl. The remedy is to simply use the OO version; e.g.: $AH->seek(0,0); ### GOOD: will work on any 5.005 seek($AH,0,0); ### WARNING: will only work on 5.005_57 and beyond VERSION
$Id: ScalarArray.pm,v 1.7 2005/02/10 21:21:53 dfs Exp $ AUTHOR
Primary Maintainer David F. Skoll (dfs@roaringpenguin.com). Principal author Eryq (eryq@zeegee.com). President, ZeeGee Software Inc (http://www.zeegee.com). Other contributors Thanks to the following individuals for their invaluable contributions (if I've forgotten or misspelled your name, please email me!): Andy Glew, for suggesting "getc()". Brandon Browning, for suggesting "opened()". Eric L. Brine, for his offset-using read() and write() implementations. Doug Wilson, for the IO::Handle inheritance and automatic tie-ing. perl v5.16.3 2005-02-10 IO::ScalarArray(3)
All times are GMT -4. The time now is 09:21 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy