Replacing all GUIDs in a file with new GUIDs from the command line

Posted by Josh Petrie on Stack Overflow See other posts from Stack Overflow or by Josh Petrie
Published on 2010-02-04T17:21:46Z Indexed on 2010/06/06 7:22 UTC
Read the original article Hit count: 235

Filed under:
|
|
|
|

I have a file containing a large number of occurrences of the string Guid="GUID HERE" (where GUID HERE is a unique GUID at each occurrence) and I want to replace every existing GUID with a new unique GUID.

This is on a Windows development machine, so I can generate unique GUIDs with uuidgen.exe (which produces a GUID on stdout every time it is run). I have sed and such available (but no awk oddly enough).

I am basically trying to figure out if it is possible (and if so, how) to use the output of a command-line program as the replacement text in a sed substitution expression so that I can make this replacement with a minimum of effort on my part. I don't need to use sed -- if there's another way to do it, such as some crazy vim-fu or some other program, that would work as well -- but I'd prefer solutions that utilize a minimal set of *nix programs since I'm not really on *nix machines.

To be clear, if I have a file like this:

etc etc Guid="A" etc etc Guid="B"

I would like it to become this:

etc etc Guid="C" etc etc Guid="D"

where A, B, C, D are actual GUIDs, of course.

(for example, I have seen xargs used for things similar to this, but it's not available on the machines I need this to run on, either. I could install it if it's really the only way, although I'd rather not)

© Stack Overflow or respective owner

Related posts about shell

Related posts about replace