如何在PowerShell中查找和替换多行

Windows PowerShell是操作系统中最强大的命令行实用程序之一。然而,问题在于用户对其广泛功能几乎没有任何信息。例如,PowerShell可以查找和替换文件中的多行文本。

这适用于许多事情,包括跨多个文件更改代码库。在本文中,我们将解释如何使用PowerShell替换文件中的多行文本。

为什么我需要替换PowerShell中的多行?

PowerShell 中的多行是使脚本更具可读性的好方法。当您想在多行上使用一个语句但又不想将其分解为多个语句时,它们也很有用。

在编程中,多行意味着在两行或多行中编写单个命令或指令。

您可能想知道为什么我们需要多条线路。最明显的原因是出于可读性目的,并避免在逐个键入长命令时出错。

当我们有多个命令要同时执行时,我们可以使用多行。它使我们的代码更具可读性,其他人更容易理解。

虽然所有这些都很棒,但一些用户更喜欢替换PowerShell中的多行。一次更换一条生产线并不困难,但是一次更换多条生产线时会变得困难且耗时。

如何替换 PowerShell 中的行?

PowerShell 中的替换运算符是将字符串替换为另一个字符串的便捷方法。例如,如果要将单词“test”的所有实例替换为单词“exam”,则可以使用以下命令:

PS> "test" -Replace "test", "exam"

替换方法有两个参数:

  • 要查找的搜索字符串。
  • 要使用的替换字符串,而不是搜索字符串。

从上面的示例中,您已经可以看出,如果要查找和替换多行,这将非常耗时。

要替换多行,您需要使用 Regex 命令。PowerShell 正则表达式命令有两个参数:

  • 匹配 – 允许您指定要在输入字符串中搜索的模式。您还可以指定多个以逗号分隔的模式。
  • 替换 – 将指定匹配项的所有匹配项替换为指定的替换值。

但是,它有一些限制。它只能替换一行中匹配项的第一次出现。解决方法是将代码转换为多行字符串。

转换后,PowerShell 会将整个输入视为单个字符串,以便于替换。

1.转换字符串

  1. 点击键,在搜索栏中键入 PowerShell,然后单击以管理员身份运行。WindowsOpen-Powershell
  2. 可以使用原始开关在PowerShell中将多行转换为一个字符串。使用 -raw 开关时,需要指定文件名。
  3. 例如,要转换,您将应用以下命令:Get-Content C:\user\test1.txt -Raw
  4. 这包括文件位置和文件名。

2. 匹配字符串

match 参数旨在查找与指定模式匹配的一个或多个字符。

例如,如果要在字符串中查找所有以“c”开头的单词,可以使用以下命令:

[regex]::matches("c*") | where-object{$_ -like "*c*"}

3. 替换线路

找到要替换的匹配项后,可以执行替换命令,如下所示:

PS> [regex]::Replace($str, "c", "d")

PowerShell的查找和替换方法对于更多技术用户非常有用。希望通过这篇文章,我们已经对如何使用PowerShell提示符查找和替换一行有了相当扎实的了解。

我们现在知道它可以相对容易地完成,并且命令结构并不难遵循。如果您是初学者,熟能生巧。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun238157.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2023年7月5日 上午11:52
下一篇 2023年7月5日 下午12:46

相关推荐