Page 1 of 1
Compare strings and deleting strings
Posted: 05 Apr 2011 07:16
by flexbuffchest
Hey guys,
I've tried over the past few days to come up with a solution to this and I haven't found a way to do it. What I am trying to do is
1) Parse through one file and cut out any strings that are exactly the same and have them redirected to a new file. So, for example, if I had three "test" in the file it would strip away all three of them and redirect to a new file.
2) Compare two files and delete any strings that are exactly the same.
I feel bad that I couldn't figure this out and would love some help. Maybe using batch files isn't the right job for this, but I need to complete this in the next couple of days. It's either script this or manually go through 360 values
Re: Compare strings and deleting strings
Posted: 05 Apr 2011 07:20
by ghostmachine4
flexbuffchest wrote:1) Parse through one file and cut out any strings that are exactly the same and have them redirected to a new file. So, for example, if I had three "test" in the file it would strip away all three of them and redirect to a new file.
An example of your input and your expected output speaks more than a thousand words you could write down
2) Compare two files and delete any strings that are exactly the same.
same. Show examples.
Maybe using batch files isn't the right job for this,
yes, you are right. Batch is not for this job. You need a tool with good string/text processing capabilities.
Re: Compare strings and deleting strings
Posted: 05 Apr 2011 07:45
by flexbuffchest
ghostmachine4 wrote:flexbuffchest wrote:1) Parse through one file and cut out any strings that are exactly the same and have them redirected to a new file. So, for example, if I had three "test" in the file it would strip away all three of them and redirect to a new file.
An example of your input and your expected output speaks more than a thousand words you could write down
2) Compare two files and delete any strings that are exactly the same.
same. Show examples.
Maybe using batch files isn't the right job for this,
yes, you are right. Batch is not for this job. You need a tool with good string/text processing capabilities.
Alright.
1) Input:
test
test
1234
nothing
apple
In this example I need something that would strip out any matching strings. In this case the output to the new file would be
test
test
while the original file would be
1234
nothing
apple
2) File 1:
1234
nothing
apple
File 2:
4321
nothing
orange
In this example I need something that would compare file 1 to file 2 and delete any matching string from file 2. In this case File 1 would remain the same,
1234
nothing
apple
while file 2 would now look like this
4321
orange
BTW, thanks for helping me out with my other problem a few days ago. I am only a begineer when it comes to writting scripts of any kind. Learning to script in Gawk though is like asking me to talk in a different language at this point in time. It's completely different from what I am used to.
Re: Compare strings and deleting strings
Posted: 05 Apr 2011 08:10
by ghostmachine4
flexbuffchest wrote:Alright.
1) Input:
test
test
1234
nothing
apple
In this example I need something that would strip out any matching strings. In this case the output to the new file would be
test
test
while the original file would be
1234
nothing
apple
So here it goes, with gawk for windows..just one line of course
Code: Select all
C:\work>type file
test
test
1234
nothing
apple
test
C:\work>gawk "/test/{print $0 > \"new.file\"} !/test/ " file > retain.file
C:\work>more retain.file
1234
nothing
apple
C:\work>more new.file
test
test
test
2) File 1:
1234
nothing
apple
File 2:
4321
nothing
orange
In this example I need something that would compare file 1 to file 2 and delete any matching string from file 2. In this case File 1 would remain the same,
1234
nothing
apple
while file 2 would now look like this
4321
orange
Code: Select all
C:\work>gawk "FNR==NR{a[$1];next} (!($1 in a)) " file1 file2
4321
orange
BTW, thanks for helping me out with my other problem a few days ago. I am only a begineer when it comes to writting scripts of any kind. Learning to script in Gawk though is like asking me to talk in a different language at this point in time. It's completely different from what I am used to.
Nobody is born to be good at something from the start. All it takes is to
learn and practice it.