使用 powershell 编辑现有内容

使用 powershell 编辑现有内容

我知道这是一个愚蠢的谷歌问题,但我没有找到真正简单的东西来满足我的需要。

我有一个包含以下内容的 .txt 文件:

hostname [ip] 
exec /bin/bash

现在,每次我执行某个 PS 脚本(从 RUN 开始)时,我都希望 [ip] 根据我的 $args[0] 进行更改

例如:

.txt 现在:

hostname 1.1.1.1 
exec /bin/bash

我正在执行运行script 2.2.2.2

.txt 预期:

hostname 2.2.2.2
exec /bin/bash

注意!全部内容将始终相同,只有 [ip] 会发生变化。

我正在寻找最简单的替换解决方案,谢谢:)

答案1

您的问题比较广泛,我不想写整个脚本,所以我只回答其中的主要部分。

要将文件中的“[ip]”替换为“1.1.1.1”:

gc input_file.txt | % { $_ -replace '\[ip\]', '1.1.1.1' } | sc output_file.txt

如果要覆盖原始文件,则需要在第一个语句周围加上括号,以便它在开始时将整个文件加载到内存中:

(gc my_file.txt) | % { $_ -replace '\[ip\]', '1.1.1.1' } | sc my_file.txt

gc是 的缩写Get-ContentscSet-Content%ForEach-Object

相关内容