의 Sample.txt는 :키를 검색하여 값을 변경하는 방법은 무엇입니까?
{"ip":"","port":0,"protocol":"udp","user":false,"test":false}
나는 위의 사전에 특정 'key'
에 'value'
을 변경합니다.
예를 들면 '23'
을 변경해야합니다. 'protocol'
은 Windows PowerShell을 사용하여 'tcp'
등으로 변경해야합니다.
의 Sample.txt는 :키를 검색하여 값을 변경하는 방법은 무엇입니까?
{"ip":"","port":0,"protocol":"udp","user":false,"test":false}
나는 위의 사전에 특정 'key'
에 'value'
을 변경합니다.
예를 들면 '23'
을 변경해야합니다. 'protocol'
은 Windows PowerShell을 사용하여 'tcp'
등으로 변경해야합니다.
샘플 데이터는 JSON 형식으로 나타납니다, 그래서 당신은, 다음과 같이 JSON 문자열로 다시 개체를 변환, 객체에 JSON 문자열을 변환하여 수정 속성을 변경할 것 :
$file = 'C:\path\to\sample.txt'
(Get-Content $file -Raw) | ConvertFrom-Json | ForEach-Object {
$_.port = 23
$_.protocol = 'tcp'
$_ # echo current object to feed it back into the pipeline
} | ConvertTo-Json -Compress | Set-Content $file
PowerShell v2 또는 이전 버전에서는 v3과 함께 도입 된 매개 변수를 에뮬레이트하려면 (Get-Content $file) | Out-String
을 실행해야합니다.
JSON으로 작업하고 있으므로 JSON!
$json = Get-Content .\sample.txt | ConvertFrom-Json
$json.port = 23
$json.protocol = 'tcp'
$json | ConvertTo-Json -Compress | Out-File .\sample.txt
희망이 도움이됩니다.
답변 해 주셔서 감사합니다. 나는이 코드에서 조금 혼란 스럽다. '포트'를 '30'으로 변경하고 '프로토콜'을 'udp'로 변경하는 방법에 대해 설명해주십시오. 미리 감사드립니다. – rcubefather
알겠습니다. 코드를 입력 해주세요. 감사합니다. – rcubefather
portnumer의 편집 부분은 다음과 같습니다. $ json **. port = 23 ** –