我需要删除图片1中红色矩形中的内容,然后生成一个新的文本文件。
另外,用AIDA64终极版取代AIDA64工程师
由于保留字段被划分为不同的区域,例如:主板:,所以似乎有些困难。
在下一篇文章中,一些相关问题已经得到解决。Get strings for some specific region

--------[ AIDA64 Engineer ]------------------------------------------------------------
version AIDA64 Engineer v6.00.5100/cn
--------[ System verview ]-------------------------------------------------------------
Motherboard:
Processor name Mobile DualCore Intel
DMI:
DMI BIOS Vendor Phoenix Technologies
--------[ DMI ]------------------------------------------------------------------------
[ BIOS ]
BIOS Attributes:
Vendor Phoenix Technologies Ltd.
[ Motherboard ]
Motherboard:
manufacturer Intel Corp.
Motherboard manufacturer:
company name Intel Corporation
--------[ Overclocking ]---------------------------------------------------------------
Motherboard:
Motherboard ID <DMI>
BIOS Attributes:
System BIOS date 12/24/2012
--------[ PCI/PnP Network ]------------------------------------------------------------
Atheros AR5009 802.11a/g/n Wireless PCI
Broadcom NetLink BCM57785 PCI-E PCI发布于 2019-06-22 12:31:41
由于要删除的字符串似乎没有共同点,这个长正则表达式替换可能会有所帮助:
$re = '\s+(DMI:\s+DMI BIOS Vendor|Motherboard manufacturer:\s+company name|BIOS Attributes:\s+System BIOS date)[^-]+'
$nlnl = ([Environment]::NewLine * 2) # replace with two newlines
(Get-Content -Path 'PATH TO THE FILE' -Raw) -replace $re, $nlnl -replace 'AIDA64 Engineer', 'AIDA64 Ultimate'结果:
主板:处理器名为移动DualCore英特尔- DMIBIOS属性:厂商菲尼克斯技术有限公司主板:制造商英特尔公司。AR5009 802.11a/g/n无线NetLink BCM57785 BCM57785 PCI
编辑
如果只想在标题中替换AIDA64 Engineer,而不想在后面的文本中替换,请更改此部分:
-replace 'AIDA64 Engineer', 'AIDA64 Ultimate'转到
-replace '\[ AIDA64 Engineer \]', '[ AIDA64 Ultimate ]'https://stackoverflow.com/questions/56711238
复制相似问题