Sponsored Content
Top Forums Shell Programming and Scripting Compare file to array, replace with corresponding second array Post 302685987 by gentlefury on Monday 13th of August 2012 08:07:16 PM
Old 08-13-2012
Compare file to array, replace with corresponding second array

ok, so here is the issue, I have 2 arrays.

I need to be able to create a loop that will find ${ARRAY1[1] in the text doc, and replace it with ${ARRAY2[1] then write the results. I already have that working. The problem is, I need it to do that same result across however many items are in the 2 arrays (they will always be an equal # and will always match instances in the target text file)

So, here is what I have so far

Quote:
LOOP=${#READ[@]}
for i in $(eval echo {0..$LOOP})
do
sed -e 's/'${ARRAY1[$i]}'/'${ARRAY2[$i]}''/'g' ${FILE}.txt
done
This is doing what I need it to do. The problem tho, is that, obviously it is printing ${FILE}.txt over and over and in each instance it is replacing the corresponding array value.

I need do the find/replace across all arrays then output the final result to a new file that contains all of the new data.

I tried:

Quote:
cp $FILE.txt ${FILE}_renamed.txt

LOOP=${#READ[@]}

for i in $(eval echo {0..$LOOP})
do
sed -e 's/'${ARRAY1[$i]}'/'${ARRAY2[$i]}''/'g' ${FILE}_renamed.txt > ${FILE}_renamed.txt
done
thinking, logically that would do the find and replace, open the new version containing the first find and replace do the next, etc until it resulted in what I need.

I end up with a blank document.

can somebody please tell me where I'm going wrong here.

I'm so close, I just don't know where to go from here!

Last edited by gentlefury; 08-13-2012 at 09:39 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

compare array contents with file

I have an array "arrA" with the following contents: A0012 Paint Shop.doc ES001 Contract Signature.doc Budget Plan.pdf TS PWS.pdf My data file "Files.dat" has the same contents: A0012 Paint Shop.doc ES001 Contract Signature.doc Budget Plan.pdf TS PWS.pdf I have a script that compares... (0 Replies)
Discussion started by: orahi001
0 Replies

2. UNIX for Dummies Questions & Answers

Compare array values

# tail myprocesses.txt 178 processes at Tue Oct 21 14:33:01 IST 2008 16 MySQL processes at Tue Oct 21 14:33:01 IST 2008 175 processes at Tue Oct 21 14:36:01 IST 2008 60 MySQL processes at Tue Oct 21 14:36:01 IST 2008 192 processes at Tue Oct 21 14:39:01 IST 2008 64 MySQL processes at Tue Oct... (2 Replies)
Discussion started by: shantanuo
2 Replies

3. Shell Programming and Scripting

Compare Array results

Hi, In a kshell , i need to compare the results of two array . each Non-match value should copy to a new array. For example: ========== Array one contain the following values: A B C Array two contain the following values: C F A E After comparing this arrays , a new array should... (4 Replies)
Discussion started by: yoavbe
4 Replies

4. Shell Programming and Scripting

PERL - copy fiel contents to array then compare against other file

Basically to illuminate i want to take a file with mutliple lines, C:\searching4theseletters.txt a b c Read this into an array @ARRAY and then use this to compare against another file C:\inputletters.txt b o a c n a (9 Replies)
Discussion started by: bradleykins
9 Replies

5. Shell Programming and Scripting

awk - replace number of string length from search and replace for a serialized array

Hello, I really would appreciate some help with a bash script for some string manipulation on an SQL dump: I'd like to be able to rename "sites/WHATEVER/files" to "sites/SOMETHINGELSE/files" within the sql dump. This is quite easy with sed: sed -e... (1 Reply)
Discussion started by: otrotipo
1 Replies

6. Shell Programming and Scripting

Array in Perl - Detect several file to be in one array

Hi everyone I have one question about using array in perl. let say I have several log file in one folder.. example test1.log test2.log test3.log and the list goes on.. how to make an array for this file? It suppose to detect log file in the current directory and all the log file will... (3 Replies)
Discussion started by: sayachop
3 Replies

7. Shell Programming and Scripting

compare two value in array - Perl

Hi, I just wondering if I want to compare previous value to next value if it same count + 1 if not doesn't count how do we compare in Perl? Thank (2 Replies)
Discussion started by: guidely
2 Replies

8. Shell Programming and Scripting

compare two array

Hi firnds, I am having two arrays eg. @a=qw(1 2 3 4) and @b=qw(1 3 6 9) Now, I want to compare two arrays on first index of both arrays and if they matched, it should output remaining indexes Pseudo-code if ($a == $b) { print "remaining indexes";} How can i do this using perl? (1 Reply)
Discussion started by: Renesh
1 Replies

9. Shell Programming and Scripting

Ksh: how compare content of a file with an other array

Hi, I created a skript in ksh which generate a file with semicolon as separator, this is an example of the file a created: example content file: hello;AAAA;2014-08-17 hello;BBBB;2014-08-17 hello;CCCC;2014-08-17 I would need to compare the content in of the second column of this file... (3 Replies)
Discussion started by: jmartin
3 Replies

10. UNIX for Dummies Questions & Answers

How to use if command to compare in an array?

Hi all, Currently i am facing issue using if command to compare to array value. can someone help me? if }" -gt "${ZDATE_1}" ] then do echo "red" else echo "green" fi done i have checked array is giving values fine but there seems some issue with if command. (2 Replies)
Discussion started by: amyt1234
2 Replies
REPLACE(1)						       MySQL Database System							REPLACE(1)

NAME
replace - a string-replacement utility SYNOPSIS
replace arguments DESCRIPTION
The replace utility program changes strings in place in files or on the standard input. Invoke replace in one of the following ways: shell> replace from to [from to] ... -- file_name [file_name] ... shell> replace from to [from to] ... < file_name from represents a string to look for and to represents its replacement. There can be one or more pairs of strings. Use the -- option to indicate where the string-replacement list ends and the file names begin. In this case, any file named on the command line is modified in place, so you may want to make a copy of the original before converting it. replace prints a message indicating which of the input files it actually modifies. If the -- option is not given, replace reads the standard input and writes to the standard output. replace uses a finite state machine to match longer strings first. It can be used to swap strings. For example, the following command swaps a and b in the given files, file1 and file2: shell> replace a b b a -- file1 file2 ... The replace program is used by msql2mysql. See msql2mysql(1). replace supports the following options. o -?, -I Display a help message and exit. o -#debug_options Enable debugging. o -s Silent mode. Print less information what the program does. o -v Verbose mode. Print more information about what the program does. o -V Display version information and exit. COPYRIGHT
Copyright (C) 1997, 2014, Oracle and/or its affiliates. All rights reserved. This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. SEE ALSO
For more information, please refer to the MySQL Reference Manual, which may already be installed locally and which is also available online at http://dev.mysql.com/doc/. AUTHOR
Oracle Corporation (http://dev.mysql.com/). MySQL 5.5 01/30/2014 REPLACE(1)
All times are GMT -4. The time now is 07:18 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy