Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Replace string and create new file multiple times Post 302974075 by pseudo.seppuku on Wednesday 25th of May 2016 12:17:54 PM
Old 05-25-2016
Replace string and create new file multiple times

First of all, apologies if this has already been answered elsewhere. I haven't quite been able to find what I'm looking for yet, so hopefully this won't come across as repetition.

I have a file consisting of ~100 nearly identical lines, each of which contains multiple instances of the string I need to replace. Let's say the string is simply "001". Each instance of the string within a single line has a slightly different pre/suffix that can be used for search purposes. I know sed is capable of addressing this, but I'm not sure how to proceed with the following steps...

I need to create a new file where the 001 is replaced with 002, while everything else in the line remains unchanged. This will go on until, say, 300 - thus generating 300 different files, each of which needs to be saved separately.

So the first file contains a list like this:

Code:
-file1 001.txt -file2 blah1.txt -outputx x001blah1 -outputy y001blah1
-file1 001.txt -file2 blah2.txt -outputx x001blah2 -outputy y001blah2
-file1 001.txt -file2 blah3.txt -outputx x001blah3 -outputy y001blah3

...saved as list001.txt. I need to replace the three instances of 001 with 002 and save that file as list002.txt, which would look like this:

Code:
-file1 002.txt -file2 blah1.txt -outputx x002blah1 -outputy y002blah1
-file1 002.txt -file2 blah2.txt -outputx x002blah2 -outputy y002blah2
-file1 002.txt -file2 blah3.txt -outputx x002blah3 -outputy y002blah3

And so on and so forth until list300.txt (this number is pre-defined).

If I were to do this manually, it would require searching and replacing over a thousand times. Is there a single script I can use to find, replace, and create all 300 files, without having to make and modify each one individually?

Last edited by pseudo.seppuku; 05-25-2016 at 01:23 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Append some text to a file multiple times

Hi, I have a text file like Version=abc Tab=1 URL GOTO=www.abc.com/board=1 some text... I want to run a loop x no of times and append to the text file above text but URL GOTO should be www.abc.com/board=2 then 3,4...etc till x. Kindly help (2 Replies)
Discussion started by: krabu
2 Replies

2. Shell Programming and Scripting

replace (sed?) a single line/string in file with multiple lines (string) from another file??

Can someone tell me how I can do this? e.g: Say file1.txt contains: today is monday the 22 of NOVEMBER 2010 and file2.txt contains: the 11th month of How do i replace the word NOVEMBER with (5 Replies)
Discussion started by: tuathan
5 Replies

3. Shell Programming and Scripting

replace a string with contents of a txt file containing multiple lines of strings

Hello everyone, ive been trying to replace a string "kw01" in an xml file with the contents of a txt file having multiple lines. im a unix newbie and all the sed combinations i tried resulted to being garbled. Below is the contents of the txt file: RAISEDATTIME --------------------... (13 Replies)
Discussion started by: 4dirk1
13 Replies

4. UNIX for Dummies Questions & Answers

Find string multiple times, same line

Hi everybody, Fairly simple question here: I need an awk, sed, or grep command that will find the same string multiple times on one line needs to return all lines which contain .02 twice. I do know the exact number of characters in between the two occurrences of .02 if that helps, all... (7 Replies)
Discussion started by: jgrosecl
7 Replies

5. Shell Programming and Scripting

replace (sed?) a string in file with multiple lines (string) from variable

Can someone tell me how I can do this? e.g: a=$(echo -e wert trewt ertert ertert ertert erttert erterte rterter tertertert ert) How do i replace the STRING with $a? I try this: sed -i 's/STRING/'"$a"'/g' filename.ext but this don' t work (2 Replies)
Discussion started by: jforce
2 Replies

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

7. UNIX for Dummies Questions & Answers

How to check if the same file exists multiple times?

Hi Team , Is there a way I can check to see if the same file say , test.dat exists multiple times in the directory path ? Please help. Thanks Megha (5 Replies)
Discussion started by: megha2525
5 Replies

8. Shell Programming and Scripting

Sed replace using same pattern repeating multiple times in a line

Sed replace using same pattern repeating multiple times in a line I have text like below in a file: I am trying to replace the above line to following How can I acheive this? I am able to do it if the occurrence is for 1 time: But If I try like below I am getting like this: I have to... (4 Replies)
Discussion started by: sol_nov
4 Replies

9. UNIX for Advanced & Expert Users

Wanted to replace string in an .xlsx file in multiple ZIP Files

Hi , I am having a ZIP file containing an .xlsx file . Now i wanted to replace "GJ" to blank in the .xlsx file . I tried using the below code but not working , Please guide : #!/bin/bash log="/home/srikant/scripts/replacescriptFHO.log" date > $log echo "" >> $log echo initiating for FHO... (1 Reply)
Discussion started by: vipinmaster
1 Replies

10. Shell Programming and Scripting

sed command to replace one value which occurs multiple times

Hi, My Input File : "MN.1.2.1.2.14.1.1" := "MN_13_TM_4" ( 000000110110100100110001111110110110101110101001100111110100011010110111001 ) "MOS.1.2.1.2.13.6.2" := "MOS_13_TM_4" ( 000000110110100100110001111110110110101110101001100111110100011010110111001 ) Like above template,I have... (4 Replies)
Discussion started by: Preeti Chandra
4 Replies
lltag_config(5) 						File Formats Manual						   lltag_config(5)

NAME
config - Configuration file for lltag DESCRIPTION
The following options may be stored in /etc/lltag/config or the user's $HOME/.lltag/config, or in any file passed with --config. Such a configuration file may also be generated with --gencfg. Obtaining tags format = "string" Add a user-defined format [-R]. Might be used multiple times. Default is to guess if no user-defined formats and no default field values are given. guess = <0/1> Try to guess if user-defined formats do not match [-G]. Default is 0 (disabled) when no user-defined formats and no explicit values are given. tag = <TAG=value> Add an explicit tag [--tag]. Might be used multiple times. Tweaking filename parsing no_path = <0/1> Do not use file path when matching filename [-p]. Default is 0 (disabled). spaces = <0/1> Allow no or multiple spaces [--spaces]. Default is 0 (disabled). Cleaning obtained tags edit = <0/1> Edit tags immediately [--edit]. Default is 0 (disabled). maj = <0/1> Upcase first letters of words in tags [--maj]. Default is 0 (disabled). regexp = "s/from/to/" Replace from with to in all tags. title,number:s/from/to/ replaces in title and number tags only. Might be used multiple times [--regexp]. Default is to not apply any regexp. sep = "string" Replace |-separated strings with space in tags. Default is to not replace any separator. Configuration of tag application type = <mp3|ogg|flac|none> Force mp3, ogg of flac instead of by-extension detection [--mp3, --ogg and --flac]. Default is none. clear_tags = <0/1> Clear all tags of audio files. [--clear]. Default is 0 (disabled). append_tags = <0/1> Append tags only instead of replacing old ones. [--append]. Default is 0 (disabled). no_tagging = <0/1> Do not actually tag files [--no-tagging]. Default is 0 (disabled). preserve_time = <0/1> Preserve file modification time during tagging [--preserve-time]. Default is 0 (disabled). Renaming rename_format = "string" Rename file according to format [--rename]. Default is to not rename. rename_min = <0/1> Lowcase tags before renaming [--rename-min]. Default is 0 (disabled). rename_regexp = "s/from/to/" Replace from with to in all tags before renaming. title,number:s/from/to/ replaces in title and number tags only. Might be used multiple times [--rename-regexp]. Default is to not apply any regexp. rename_sep = "string" Replace spaces with a string in tags before renaming [--rename-sep]. Default is to not replace any separator. rename_slash = "string" Replace slashes with a string in tags before renaming [--rename-slash]. Default is to replace with a dash. rename_ext = <0/1> Assume the rename format provides an extension [--rename-ext]. Default is 0 (disabled). Miscellaneous dry_run = <0/1> Do nothing but show what would have been done [--dry-run]. Default is 0 (disabled). yes = <0/1> Tag without asking for confirmation when guessing and rename without asking for confirmation [--yes]. Default is 0 (disabled). ask = <0/1> Always ask for confirmation before tagging [--ask]. Default is 0 (disabled). recursive = <0/1> Recursively traverse all given subdirectories [-R]. Default is 0 (disabled). verbose = <integer> Message verbosity level [-v and -q]. Default is 0 (only important messages). Other possible values are 1 (show usage information when a menu is displayed for the first time) and 2 (always show usage information before a menu appears). CDDB configuration cddb_server_name = hostname Change the CDDB server name. Default is www.freedb.org. cddb_server_port = <port> Change the CDDB server port. Default is 80 (HTTP). SEE ALSO
lltag(1) The config template file provided within the documentation directory. AUTHOR
Brice Goglin NOVEMBER 2006 lltag_config(5)
All times are GMT -4. The time now is 04:50 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy