【发布时间】:2011-01-13 04:34:42
【问题描述】:
我有一个文件包含大量出现的字符串 Guid="GUID HERE"(其中 GUID HERE 在每次出现时都是唯一的 GUID),我想用新的唯一 GUID 替换每个现有的 GUID。
这是在 Windows 开发机器上,所以我可以使用 uuidgen.exe 生成唯一的 GUID(每次运行时都会在标准输出上生成一个 GUID)。我有sed 和这样的可用(但奇怪的是没有awk)。
我基本上是想弄清楚是否可以(如果可以,如何)将命令行程序的输出用作sed 替换表达式中的替换文本,以便我可以使用我的努力是最小的。我不需要使用sed——如果有其他方法可以做到这一点,例如一些疯狂的vim-fu 或其他程序,那也可以——但我更喜欢使用最少的 *nix 程序集,因为我不是真的在 *nix 机器上。
要清楚,如果我有这样的文件:
etc etc Guid="A" etc etc Guid="B"
我希望它变成这样:
etc etc Guid="C" etc etc Guid="D"
当然,其中 A、B、C、D 是实际的 GUID。
(例如,我看到xargs 用于类似的事情,但它在我需要运行它的机器上也不可用。如果它真的是唯一的方法,我可以安装它,虽然我'最好不要)
【问题讨论】:
-
你熟悉Powershell吗?
-
我知道,但我不经常使用它,也没有安装它。如果那里有可行的解决方案,我完全赞成。
标签: shell replace sed guid text-processing