01-03-2008
Perl: Search for string on line then search and replace text
Hi All,
I have a file that I need to be able to find a pattern match on a line, search that line for a text pattern, and replace that text.
An example of 4 lines in my file is:
1. MatchText_randomNumberOfText moreData ReplaceMe moreData
2. MatchText_randomNumberOfText moreData moreData ReplaceMe moreData moreData
3. MatchText_randomNumberOfText moreData ReplaceMe moreData moreData
4. TextTextText_randomNumberOfText moreData ReplaceMe moreData moreData
The above is an example of four lines. I want to find all the lines containing "MatchText" (lines 1,2 and 3) and replace the "ReplaceMe" in that line with "REPLACED".
"ReplaceMe" occurs multiple times in lines I do not want to replace it in (as in line 4 above)
Hope that makes sense!!
Many thanks
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have a perl function in my script that needs to replace an entire line in a file
sub changestate {
my $base = ();
my @base = ();
open(BASE, $file) || die("Could not open file!");
@base=<BASE>;
close (BASE);
foreach $base(@base)
{
if($base =~... (1 Reply)
Discussion started by: insania
1 Replies
2. UNIX for Dummies Questions & Answers
i am very new to UNIX
plz help me in this scenario
i have two text files as below
file1.txt
name=Rajakumar.
Discipline=Electronics and communication.
Designation=software Engineer.
file2.txt
name=Kannan.
Discipline=Mechanical.
Designation=CADD Design Engineer.
... (6 Replies)
Discussion started by: kkraja
6 Replies
3. Shell Programming and Scripting
Dear All,
i want to search particular string and want to replance next line value.
following is the test file.
search string is
tmp,???
,10:1 "???" may contain any 3 character it should remain the same and next line replace with ,10:50
tmp,123 --- if match tmp,??? then... (3 Replies)
Discussion started by: arvindng
3 Replies
4. Shell Programming and Scripting
Hi,
I need to search for source path in file2 , as per file1 and if found get the next line and take the field value and put it in URL value of file1.
In file1, NF is not same for all the lines.
file1:
<type source="/home/USER/Desktop" Dest="/home/USER/DIR1/Desktop" URL="ssh/path"/>
<type... (8 Replies)
Discussion started by: greet_sed
8 Replies
5. Shell Programming and Scripting
Dear all,
I have a number of files and each file has two sections separated by a blank line. At the top section, I have lines which describes the values of the alphabetical characters,
# s #; 0.123
# p #; 12.3
# d #; -2.33
# f #; 5.68
<blank line>
sssssss
spfdffff
sdfffffff
Now I... (4 Replies)
Discussion started by: sasharma
4 Replies
6. Shell Programming and Scripting
I need to search the file using strings "Request Type" , " Request Method" , "Response Type" and by using result set find the xml tags and convert into a single line?. below are the scenarios.
Cat test
Nov 10, 2012 5:17:53 AM
INFO: Request Type
Line 1.... (5 Replies)
Discussion started by: laknar
5 Replies
7. UNIX for Advanced & Expert Users
Hi All,
i can replace a perticular value in sentence using perl.
perl -pi -e 's/old/new/' sample.txt
but i am not able to replace whole string by perl.
file1 contains "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.147.109.211)(PORT=1526))(CONNECT_DATA=(SID= MWDBD22)))". i... (3 Replies)
Discussion started by: arindam guha
3 Replies
8. Shell Programming and Scripting
i am having text file below
System will display value URGENT and proceed
System will display value URGENT and proceed
System will display value URGENT and proceed
.................................................................. (1 Reply)
Discussion started by: suryanarayana
1 Replies
9. Shell Programming and Scripting
I have a file which requires modification via a shell script.
Need to do the following: 0. take input from user for new text. 1. search for a keyword in the file. 2. replace the line next to this to this keyword with user supplied input.
for e.g., my file has the following text:
(some... (7 Replies)
Discussion started by: chingupt
7 Replies
10. UNIX for Dummies Questions & Answers
Hi Everyone,
I have a requirement in ksh where i have a set of files in a directory. I need to search each and every file if a particular string is present in the file, delete that line and replace that line with another string expression in the same file.
I am very new to unix. Kindly help... (10 Replies)
Discussion started by: Pradhikshan
10 Replies
fmt(1) General Commands Manual fmt(1)
NAME
fmt - format text
SYNOPSIS
width] [file...]
DESCRIPTION
The command is a simple text formatter that fills and joins lines to produce output lines of (up to) the number of characters specified in
the width option. The default width is 72. concatenates the arguments. If none are given, formats text from the standard input.
Blank lines are preserved in the output, as is the spacing between words. does not fill lines beginning with a period for compatibility
with Nor does it fill lines starting with
Indentation is preserved in the output and input lines with differing indentation are not joined (unless is used).
can also be used as an in-line text filter for the command:
reformats the text between the cursor location and the end of the paragraph.
Options
recognizes the following options:
Crown margin mode.
Preserve the indentation of the first two lines within a paragraph and align the left margin of each subsequent line with that
of the second line. This is useful for tagged paragraphs.
Split lines only.
Do not join short lines to form longer ones. This prevents sample lines of code, and other such "formatted" text, from being
unduly combined.
Fill output lines to up to
width columns.
WARNINGS
The width option is acceptable for BSD compatibility, but it may go away in future releases.
SEE ALSO
nroff(1), vi(1).
fmt(1)