Sponsored Content
Top Forums UNIX for Dummies Questions & Answers how to replace certain patterns in a file thru unix!! Post 6067 by mexx_freedom on Wednesday 29th of August 2001 09:49:33 AM
Old 08-29-2001
Question how to replace certain patterns in a file thru unix!!

Hi Friends,
well what i want to do is that suppose i have a file say like
....
ronaldduckdancecoolman
donaldmuckdancepooltactics
fonaldguckdancetoolbutcomps
....
okok i agree this is a ridiculous data for a file.
:-)
now i want that the characters in each line fromposition 16 to say 19 gets replaced by a particular string , in this case the charcters are cool pool and tool , so say i want is the follwoing output:

....
ronaldduckdanceYYYYman
donaldmuckdanceYYYYtactics
fonaldguckdanceYYYYbutcomps
....

or maybe it is possible that the case is that i want to replcae cool,tool and pool by word whose length is greate than the ones which are present say like

....
ronaldduckdanceYYYYYYYYman
donaldmuckdanceYYYYYYYYtactics
fonaldguckdanceYYYYYYYYbutcomps
....

and also suppose i want say that a particular word occurence in every line is replaced by some other word say like i have input file containing

....
ronaldduckdanceYYYYman
donaldmuckdanceYYYYtactics
fonaldguckdanceYYYYbutcomps
....

and i want the file to be manipulated as
....
ronaldduckdanceXXXXman
donaldmuckdanceXXXXtactics
fonaldguckdanceXXXXbutcomps
....

or say different lengths replacement like
....
ronaldduckdanceXXXXXXXXman
donaldmuckdanceXXXXXXXXtactics
fonaldguckdanceXXXXXXXXbutcomps
....

the bottomline being that there r 2 cases one being replacement being on base of position and the other being replaxcement on basis of certain pattern.

HOW do i do this????
PLzzz help

Regards
Manish
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Searching patterns in 1 file and deleting all lines with those patterns in 2nd file

Hi Gurus, I have a file say for ex. file1 which has 3500 lines in it which are different account numbers and another file (file2) which has 230000 lines in it. I want to read all the lines in file1 and delete all those lines from file2 which has that same pattern as in file1. I am not quite... (4 Replies)
Discussion started by: toms
4 Replies

2. UNIX for Dummies Questions & Answers

replace multiple patterns in a string/filename

This should be somewhat simple, but I need some help with this one. I have a bunch of files with tags on the end like so... Filename {tag1}.ext Filename2 {tag1} {tag2}.ext I want to hold in a variable just the filename with all the " {tag}" removed. The tag can be anything so I'm looking... (4 Replies)
Discussion started by: kerppz
4 Replies

3. Shell Programming and Scripting

Need help in retrieving log from a UNIX file using the search patterns

Hi everyone, I am trying to retrieve certain log from a big file. The log size can be from 200 - 600 lines. I have 3 search patterns, out of which 2 (first and last lines) search patterns are common for all the transactions but 3rd search pattern (occurs in the middle of transaction) is... (5 Replies)
Discussion started by: msrayudu
5 Replies

4. Shell Programming and Scripting

Replace patterns in a file

Hi all, I here have a file which contains a list of files inside, all of which have the suffix ".log". And now I would wish to replace all the pattern ".log" with ".log.bz2" there. So how could I archive this? Thanks (4 Replies)
Discussion started by: isaacniu
4 Replies

5. Shell Programming and Scripting

Search and replace multiple patterns in a particular column only - efficient script

Hi Bigshots, I have a pattern file with two columns. I have another data file. If column 1 in the pattern file appears as the 4th column in the data file, I need to replace it (4th column of data file) with column 2 of the pattern file. If the pattern is found in any other column, it should not... (6 Replies)
Discussion started by: ss112233
6 Replies

6. Shell Programming and Scripting

Replace multiple patterns together with retaining the text in between

Hi Team I have the following text in one of the file j1738-abc-system_id(in.value1)-2838 G566-deF-system_id(in.value2)-7489 I want to remove system_id(...) combination completely The output should look like this j1738-abc-in.value1-2838 G566-deF-in.value2-7489 Any help is appreciated... (4 Replies)
Discussion started by: Thierry Henry
4 Replies

7. Shell Programming and Scripting

Bash - Find files excluding file patterns and subfolder patterns

Hello. For a given folder, I want to select any files find $PATH1 -f \( -name "*" but omit any files like pattern name ! -iname "*.jpg" ! -iname "*.xsession*" ..... \) and also omit any subfolder like pattern name -type d \( -name "/etc/gconf/gconf.*" -o -name "*cache*" -o -name "*Cache*" -o... (2 Replies)
Discussion started by: jcdole
2 Replies

8. UNIX for Beginners Questions & Answers

awk Replace Multiple patterns within a list_file with One in target_file

I'm facing a problem 1) I got a list_file intended to be used for inlace replacement like this Replacement pattern ; Matching patterns EXTRACT ___________________ toto ; tutu | tata | tonton | titi bobo ; bibi | baba | bubu | bebe etc. 14000 lines !!! ... (5 Replies)
Discussion started by: mpvphd
5 Replies

9. Shell Programming and Scripting

Sed, how replace specific symbols between two patterns

I have a big xmltv file with many lines like: <?xml version="1.0" encoding="UTF-8"?> <tv> <channel id="channel 1 +3HD"> <display-name lang="it">channel +3HD</display-name> <icon src="http://mywebsite.com/dsgbnjfdc65657/channel +3HD.png" /> ... (8 Replies)
Discussion started by: Tapiocapioca
8 Replies

10. UNIX for Beginners Questions & Answers

Grep multiple patterns(file) and replace whole line

I am able to grep multiple patterns which stored in a files. However, how could we replace the whole line with either the pattern or new string? For example: pattern_file: *Info in the () is not part of the pattern file. They are the intended name to replace the whole line after the pattern... (5 Replies)
Discussion started by: wxboo
5 Replies
strmerge(1)						      General Commands Manual						       strmerge(1)

NAME
strmerge - batch string replacement SYNOPSIS
strmerge [-m prefix] [-p patternfile] [-s string] source-program... OPTIONS
Add prefix to message numbers in the output source program and source message catalog. You can use this prefix as a mnemonic. You must process source message catalogs that contain number prefixes using the mkcatdefs command. Message numbers will be in the form: <prefix><msg_num> Set numbers will be in the form: S_<prefix><set_num> If you process your input source program with the mkcatdefs command, the resulting source program and source message catalog might not be portable. For more information, see the Writing Software for the International Market. Use patternfile to match strings in the input source program. By default, the command searches for the pattern file in the current directory, your home directory and finally /usr/lib/nls. If you omit the -p option, the strmerge command uses a default patterns file that is stored in /usr/lib/nls/patterns. Write string at the top of the source message catalog. If you omit the -s option, strmerge uses the string specified in the $CATHEAD section of the patterns file. DESCRIPTION
The strmerge command reads the strings specified in the message file produced by strextract and replaces those strings with calls to the message file in the source program to create a new source program. The new version of source program has the same name as the input source program, with the prefix nl_. For example, if the input source program is named prog.c, the output source program is named nl_prog.c. You use this command to replace hard-coded messages (text strings identified by the strextract command) with calls to the catgets function and to create a source message catalog file. The source message catalog contains the text for each message extracted from your input source program. The strmerge command names the file by appending to the name of the input source program. For example, the source message catalog for the prog.c program is named prog.msg. You can use the source message catalog as input to the gencat command. At run time, the program reads the message text from the message catalog. By storing messages in a message catalog, instead of your pro- gram, you allow the text of messages to be translated to a new language or modified without the source program being changed. In the source-program argument, you name one or more source programs for which you want strings replaced. The strmerge command does not replace messages for source programs included using the #include directive. Therefore, you might want a source program and all the source programs it includes on a single strmerge command line. You can create a patterns file (as specified by patternfile ) to control how the strmerge command replaces text. The patterns file is divided into several sections, each of which is identified by a keyword. The keyword must start at the beginning of a new line, and its first character must be a dollar sign ($). Following the identifier, you specify a number of patterns. Each pattern begins on a new line and follows the regular expression syntax you use in the ed editor. For more information on the patterns file, see the patterns(4) refer- ence page. RESTRICTIONS
You can specify only one rewrite string for all classes of pattern matches. The strmerge command does not verify if the message text file matches the source file being rewritten. The strmerge command does not replace strings to files included with #include directive. You must run the strmerge command on these files separately. EXAMPLES
The following produces a message file prog.cat for a program called prog.c. % strextract -p c_patterns prog.c prog2.c % vi prog.str % strmerge -p c_patterns prog.c prog2.c % gencat prog.cat prog.msg prog2.msg % vi nl_prog.c % vi nl_prog2.c % cc nl_prog.c nl_prog2.c In this example, the strextract command uses the c_patterns file to determine which strings to match. The input source programs are named prog.c and prog2.c. If you need to remove any of the messages or extract one of the created strings, edit the resulting message file, prog.str. Under no condi- tions should you add to this file. Doing so could result in unpredictable behavior. You issue the strmerge command to replace the extracted strings with calls to the message catalog. In response to this command, strmerge creates the source message catalogs, prog.msg and prog2.msg, and the output source programs, nl_prog.c and nl_prog2.c. Before compiling the source programs, you must edit nl_prog.c and nl_prog2.c to include the appropriate catopen and catclose function calls. The gencat command creates a message catalog and the cc command creates an executable program. SEE ALSO
extract(1), gencat(1), strextract(1), trans(1), regexp(3), catopen(3), catgets(3), patterns(4) Writing Software for the International Market strmerge(1)
All times are GMT -4. The time now is 08:08 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy