sed parser behaving strange on replacing multiple words in multiple files
I have 4000 files like
I want to replace 7 patterns (aver, anid, anig, acar, azon, awen, akaw) in all the files. The resulting file should be like (No change in file name)
I wrote a bash script for this
but the parser is making several files completely blank. In the folder some files like clus_grp_seq2000_g.phy does not exists, in such case blank file like clus_grp_seq2000_g.phy is OK. But in cases even the file exists in the folder like clus_grp_seq10_g.phy as shown above the parser is making blank files.
Please let me know the problem or suggest an alternative solution.
Not digging too deep, I can see that
- your single quoting of the sed commands is consistently wrong - the entire respective command needs to be quoted.
- the redirection into the to-be-modified file truncates it before anything is read from it, so I'm very surprised that only several files should be completely blank.
- running 7 seds (i.e. creating 7 processes) for 4000 file is resource hungry and may become somewhat slow.
- running a for loop from 0 to 4000 with i the loop variable, why do you use another j variable?
How about
Move the .tmp files to the origial ones when happy.
Im having an issue when trying to replace the first column with a new set of values in multiple files. The results from the following code only replaces the files with the last set of values in val.txt. I want to replace all the files with all the values.
for date in {1..31}
do
for val in... (1 Reply)
Hello all,
I have since given up trying to figure this out and used sed instead, but I am trying to understand awk and was wondering how someone might do this in awk.
I am trying to match on the first field of a specific file with the first field on multiple files, and append the second field... (2 Replies)
I have requirement to replace old TNS entries with New one in multiple files.
one file may contain more then one occurrence of tns.
Example: Below is the one of occurrence in a current file(s). i am interested to replace only red part.
<connection-pool name="Google_APP_CP"... (4 Replies)
Hi
I use sed comnand to remove occurance of one workd from a line.
However I need to removed occurance of dufferent words in ne line.
Original-1 Hi this is the END of my begining
Comand sed s/"END"/"start"/g
Output-1 Hi this is the start of my beginig
But I have more... (9 Replies)
Hey Unix gurus,
I would like to count the number occurrences of all the words (regardless of case) across multiple files, preferably outputting them in descending order of occurrence. This is well beyond my paltry shell scripting ability.
Researching, I can find many scripts/commands that... (4 Replies)
Hi guys,
say I have a few files in a directory (58 text files or somthing)
each one contains mulitple strings that I wish to replace with other strings
so in these 58 files I'm looking for say the following strings:
JAM (replace with BUTTER)
BREAD (replace with CRACKER)
SCOOP (replace... (19 Replies)
Hi,
I have many files scattered in all different folders. I want to replace the text within all the files using a single command ( awk, sed...) Is it possible?
example
find all the files in which there is text "memory" and replace it with "branded_memories".
the files can be at the... (2 Replies)
Hi,
I need to replace the string 'abcd' with 'xyz' in a file sample.xml
This sample.xml is also present in the subdirectories of the current directory.
Eg,
If I am in /user/home/
the sample.xml if present in
/user/home/
/user/home/folder1/
/user/home/folder2/... (3 Replies)
hi,
i've found a few examples of scripts to do this but for some reason can't get them to work properly.
basically i have some dirs with a few hundred files mixed in with a bunch of other files that were made with a typo in part of them.
long-file-names-tyo-example.ext
want to be able... (2 Replies)