One minor question while I try to work out all the syntax: the two sets of files for comparison (what I previously referred to as 001.txt and blah1.txt) actually have the same numbering system - since there are hundreds of them - but with a different letter prefix for each set, i.e., a001..a300.txt and b001..b300.txt. I only want the numbers starting with a to increase without changing b. Where should I specify/add this prefix?
In other words, the actual lines look more like this:
As you can see, the current script would change the numbers for a (as intended) but also the corresponding number for b. This wouldn't be difficult to cross-check if I only had a few lines, but with hundreds, it becomes somewhat more tedious to correct manually. Sorry for the confusion! I was trying to keep my first post as simple as possible.
---------- Post updated at 07:01 PM ---------- Previous update was at 06:47 PM ----------
Quote:
Originally Posted by RavinderSingh13
Hello pseudo.seppuku,
Could you please try following and let me know if this helps, not tested though.
Code:
for file in *.txt; do let "i = i + 1"; awk -vI=$i '{gsub(/001/,"002",$0);VAL=sprintf("%02d",I);print >> FILENAME VAL;}' $file; done
Thanks,
R. Singh
Just tried it. The search and replace bit works perfectly. It only creates a single new file though, called file02. However, it's a little strange because if I delete this file and run the script again, the replacement is called file03 (instead of file02 again). Hope that makes sense.
Last edited by pseudo.seppuku; 05-25-2016 at 03:26 PM..
One minor question while I try to work out all the syntax: the two sets of files for comparison (what I previously referred to as 001.txt and blah1.txt) actually have the same numbering system - since there are hundreds of them - but with a different letter prefix for each set, i.e., a001..a300.txt and b001..b300.txt. I only want the numbers starting with a to increase without changing b. Where should I specify/add this prefix?
Sorry for the confusion!
---------- Post updated at 07:01 PM ---------- Previous update was at 06:47 PM ----------
Just tried it. The search and replace bit works perfectly. It only creates a single new file though, called file02. However, it's a little strange because if I delete this file and run the script again, the replacement is called file03 (instead of file02 again). Hope that makes sense.
Hello pseudo.seppuku,
That's because you haven't run it as a script and when you ran it as a command, variable named i's value will be there in memory of shell and it will take it from there. When you save this as a script and run this will not happen. As for file names I am still little confuse as you need to show like current_file_name--> new_file_name etc, I hope this helps you.
Sorry, the first comment (regarding prefixes) was referring to RudiC's script.
I only just started fiddling with Linux recently so that's good to know.
However, what I meant about your script was that it only creates a single new file (file001 with string 001 -> file002 with string 002). I need this done a few hundred times, until file300 with string 300.
Last edited by pseudo.seppuku; 05-25-2016 at 03:31 PM..
.
.
.
a different letter prefix for each set, i.e., a001..a300.txt and b001..b300.txt. I only want the numbers starting with a to increase without changing b. Where should I specify/add this prefix?
In other words, the actual lines look more like this:
As you can see, the current script would change the numbers for a (as intended) but also the corresponding number for b.
.
.
.
Not sure I get it - do you want the "a" numbers modified in the the file, or work on the file names starting with "a" only? I case of the former, try gsub (/a001/, "a" TCNT, T), in case of the latter, try a*.txt for the file name parameter.
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)
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)
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)
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)
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)
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)
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)
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)
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)