powershell - 更改测试文件中的字母
问题描述
我有一个文件,它的字符被认为是生产或测试的。
P=生产 T=测试
select-string "\\myfileserver\files\999.80214.va.000000373.20210122.173314.20210755" -pattern "T"
上面返回一个 True。我需要将文件中的 T 更改为 P
999.80214.va.000000373.20210122.173314.20210755:1:ISA*00* 00 ZZ*83-1002042 *ZZ*841469824 *210 123*0753*$*00501*000000209*0*T:
如何在此字符串中搜索 T
解决方案
好的,通过我们一步一步收集的所有必要信息,我想出了这个简单的解决方案:
$Path = '\\myfileserver\files\999.80214.va.000000373.20210122.173314.20210755'
$Content = Get-Content -Path $Path
$NewContent =
(($Content | Select-Object -First 1) -replace '(?<=\*)T(?=:$)','P'),
($Content | Select-Object -Skip 1)
Set-Content -Path $Path -Value $NewContent
它获取文件的内容,仅更改第一行,将新的第一行与文件的原始未更改的其余部分结合起来,并将其写回原始文件。
推荐阅读
- java - java spring 快捷方式来创建具有自定义能力的实体的 dto
- python - 根据特定值在 pandas 中删除一行的其他方法
- java - Java profiling using jdwp
- jquery - ajax 使用包含数据和文件的 FormData 提交表单
- c++ - “ sizeof ”运算符在编程中真的很重要,尤其是在构建大型应用程序中吗?
- java - 如何重命名Kafka主题
- c++ - 来自字符串的 C++ 字节数组
- geotools - 如何配置 SimpleFeatureTypeBuilder 以在 WGS84 地图上构建面向中心的指针投影多边形?
- java - rJava 库可以作为本地的包依赖项,但不能来自 Git 存储库
- plugins - 错误:工件“名称:jar”:IntelliJ 的 java.lang.OutOfMemoryError