Powershell分裂:但只有一次

时间:2015-09-21 07:15:51

标签: powershell split

所以,这是一个包含与此类似的内容的文本文件:

DBSnapshotIdentifier : rds:xyz-new-2015-08-17-03-43
DBSnapshotIdentifier : xyz-new-2015-08-17-04-43
DBSnapshotIdentifier : rds:abc-2015-08-17-03-43

我的代码:

foreach($line in $lines)
{
$del = $line -split ':' | Select-Object -Last 1
}

我正在尝试读取整个字符串(左边:),它正在读取第二个内容中的整个字符串。但是1和3都失败了。对于1和3,读取值分别是xyz-new-2015-08-17-03-43和abc-2015-08-17-03-43(注意rds :)是也省略了。

所以,我想先得到整个字符串:,即使在该字符串中找到了多个:。我试过 - 与此同时,但没有运气。也试过 - 最后2,但它是2个单词。我需要确切的字符串rds:blah_blah_blah

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

为什么不呢?

SELECT * FROM test WHERE FROM_UNIXTIME(res_time) >= DATE_SUB(CURDATE(), INTERVAL 15 MINUTE)

答案 1 :(得分:1)

您可以尝试更改行

$del = $line -split ':' | Select-Object -Last 1

$del = ($line -split ':' | Select -Skip 1) -Join ':'

这将有效地跳过分割后数组中的第一个字符串。然后我们使用-join运算符重新加入其余部分。

即使上面没有这样做,我建议你修剪最后的字符串。

您也可以通过将行更改为

来实现此目的
$del = $line -split ':',2 | Select-Object -Last 1