Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 如何解析文件中大于x的数字_Powershell - Fatal编程技术网

Powershell 如何解析文件中大于x的数字

Powershell 如何解析文件中大于x的数字,powershell,Powershell,这里的Powershell新手,上个月才开始玩它。我一直在试图找到使用它的方法,而现在我正试图从一些unix服务器中提取信息,并且在解析数据以获取所需信息时遇到了困难。基本上,我正在运行一个ssh命令来提取服务器上的#of closed_waitis,并将其输出到一个服务器名用逗号分隔的文件中。因此,我的输出如下所示: 2,<server1> 3,<server2> 3,<server3> get-content "cresultsf.txt" | %{$c

这里的Powershell新手,上个月才开始玩它。我一直在试图找到使用它的方法,而现在我正试图从一些unix服务器中提取信息,并且在解析数据以获取所需信息时遇到了困难。基本上,我正在运行一个ssh命令来提取服务器上的#of closed_waitis,并将其输出到一个服务器名用逗号分隔的文件中。因此,我的输出如下所示:

2,<server1>
3,<server2>
3,<server3>
get-content "cresultsf.txt" | %{$close = $_.split(","} | where-object {$_.$close[0] -gt 250}
上个月开始学习PS脚本,所以我对这方面很陌生。我今天可能已经读了100篇文章试图把这些放在一起,所以任何帮助都将不胜感激!谢谢

需要V3:

get-content "cresultsf.txt" | %{
 [PSCustomObject]@{
               $split = $_.split(',')
               Close = [int]$split[0]
               Server = $split[1]
               }
 } | where { $_.close -gt 250 }
Powershell完全是关于对象的,因此如果您创建并使用对象,通常会更容易。 [PSCustomObject]类型加速器允许您直接从哈希表创建对象。因为您正在从文件中读取文本数据,所以所有的值都将是[string]。Close属性的大小写为[int],以防止在进行比较时出现意外结果。

需要V3:

get-content "cresultsf.txt" | %{
 [PSCustomObject]@{
               $split = $_.split(',')
               Close = [int]$split[0]
               Server = $split[1]
               }
 } | where { $_.close -gt 250 }
Powershell完全是关于对象的,因此如果您创建并使用对象,通常会更容易。
[PSCustomObject]类型加速器允许您直接从哈希表创建对象。因为您正在从文件中读取文本数据,所以所有的值都将是[string]。Close属性的大小写为[int],以防止在进行比较时出现意外结果。

我尝试了以下操作:

text.txt:

1, server1
200, server2
1, server3
400, server4
15, server5
119, server6
120, server7
300, server8
290, server9
我的命令:

$data = import-csv -path .\test.txt -header close, server
$data | where-object{$_.close -gt 250} |format-table -autosize
输出为:

close server
----- ------
400   server4
300   server8
290   server9    

我做了如下尝试:

text.txt:

1, server1
200, server2
1, server3
400, server4
15, server5
119, server6
120, server7
300, server8
290, server9
我的命令:

$data = import-csv -path .\test.txt -header close, server
$data | where-object{$_.close -gt 250} |format-table -autosize
输出为:

close server
----- ------
400   server4
300   server8
290   server9    

真是太棒了!!非常感谢你!我在浏览文章时看到了导入csv选项,但没有尝试过。效果很好!!非常感谢你!我在浏览文章时看到了导入csv选项,但没有尝试过。