我是 Powershell 的新手,我嘗試了一些不同的代碼調整,但一直卡住。
我有一個來自 3rd 方應用程式的 CSV 檔案,我需要替換一個字串
| 主機顯示名稱 | serice_display_name | 服務輸出 |
|---|---|---|
| 服務器1 | 磁盤 / | DISK OK - 可用空間:/ 16566 MB (86% inode=96%); |
| 服務器1 | 磁盤/日志 | DISK OK - 可用空間:/ 16566 MB (86% inode=96%); |
| 服務器1 | 記憶體 | 好的 - 使用了 25.7% (1023324 kB)。 |
| 服務器2 | 磁盤 / | DISK OK - 可用空間:/16566 MB (76% inode=86%); |
| 服務器2 | 磁盤/日志 | DISK OK - 可用空間:/ 16566 MB (56% inode=56%); |
| 服務器2 | 記憶體 | 好的 - 使用了 25.7% (1023324 kB)。 |
我想更新它以顯示
| 主機顯示名稱 | serice_display_name | 服務輸出 |
|---|---|---|
| 服務器1 | 磁盤 / | 磁盤正常 - 可用空間:/ 16566 MB(86% 可用) |
| 服務器1 | 磁盤/日志 | 磁盤正常 - 可用空間:/ 16566 MB(66% 可用) |
| 服務器1 | 記憶體 | 好的 - 使用了 25.7% (1023324 kB)。 |
| 服務器2 | 磁盤 / | 磁盤正常 - 可用空間:/ 16566 MB(76% 可用) |
| 服務器2 | 磁盤/日志 | 磁盤正常 - 可用空間:/ 16566 MB(56% 可用) |
| 服務器2 | 記憶體 | 好的 - 使用了 25.7% (1023324 kB)。 |
這是我的 Powershell 代碼
import-csv C:\Projects\Excel_Data_Powershell\Output.csv | foreach { If($_.ou -match “inode=*%”) {$_.OU -replace “inode=*%”,”FREE”}} | export-csv C:\Projects\Excel_Data_Powershell\OutputUPDATED.csv
uj5u.com熱心網友回復:
您可以使用計算屬性with根據您的條件Select-Object重新創建service_output列,以替換括號內的值。對于替換它們,您可以使用-replace,至于正在使用的正則運算式可能會得到改進,但這似乎可以解決問題。有關詳細資訊,請參閱https://regex101.com/r/TrDBXu/1。
Import-Csv C:\Projects\Excel_Data_Powershell\Output.csv | Select-Object *, @{
Name = 'service_output'
Expression = { $_.service_output -replace '(\(\d %).*', '$1 FREE)' }
} -ExcludeProperty service_output |
Export-Csv C:\Projects\Excel_Data_Powershell\OutputUPDATED.csv -NoTypeInformation
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/428265.html
標籤:电源外壳
上一篇:在不打開解決方案的情況下“按下”資料流任務中的映射選項卡
下一篇:從地圖中檢索資料回傳null
