powershell - 用powershell用字符串替换数字(用双引号括起来)
问题描述
我正在运行以下 powershell 命令:
powershell -Command "(gc myfile1.json) -replace '1.7976931348623157E308', '""-Infinity""' | Out-File myFile.json"
powershell -Command "(gc myfile1.json) -replace '4.9E-324', '""-Infinity""' | Out-File myFile.json"
我的输出文件中有 Infinity,但我希望它被双引号包围->“Infinity”
我应该如何进行?我尝试使用以下转义字符:`" 但我必须错过一些东西,因为这也不起作用。
非常感谢您的帮助。
解决方案
如果用外部双引号将 powershell 命令括起来,则:
- 必须转义内部双引号,否则 cmd.exe 会绊倒管道符号 - 自行解释它们。
- 同时,您可以使用一个
-replace
RegEx 交替替换您的两个替代品
powershell -NoP -C "(gc myfile1.json) -replace '4.9E-324|1.7976931348623157E308', '\"-Infinity\"' | Out-File myFile.json"
或者,您可以省略外部双引号,但必须使用插入符号转义管道符号。
powershell -NoP -C (gc myfile1.json) -replace '4.9E-324^|1.7976931348623157E308', '"-Infinity"' ^|Out-File myFile.json
推荐阅读
- vb.net - 我应该转换成什么数据类型,因为它总是告诉我 mscorlib.dll 中出现“system.FormatException”类型的错误未处理异常
- java - 有没有办法循环输入请求,直到用户满足 BigInteger 中的条件?
- python - 使用 lambda 中的 pandas 从 s3 读取 excel 文件并转换为 csv
- java - 使用正则表达式的 jsonAssert 嵌套 Json 验证
- docker - 为什么我无法连接到我的 socket.io 服务器?
- javafx - 如何定义胶子应用程序版本
- python - 解析json列表
- node.js - undefined 不可迭代(无法读取属性 Symbol(Symbol.iterator))
- java - 回到之前的活动
- python - 如何绘制方向梯度的直方图?