我希望我能把问题问得尽可能简单。我对使用powershell非常陌生。
现在我的问题是:
我用 Invoke-Sqlcmd
要运行一个查询,它将数据放入一个变量中 $Data
.
在本例中,我在sql数据库中查询触发器。
然后我将数组拆分以获得更具体的信息:
$Data2 = $Data | Where {$_.table -like 'dbo.sportswear'}
$Data3 = $Data2 | Where {$_.event -match "Delete"}
所以最后我有了一个带有这些索引的变量(?),我不确定它们是否被称为索引。
table
trigger_name
activation
event
type
status
definition
现在我只想检查一下 definition
. 所以我创造了一个 $Data4 = $Data3.definition
,到目前为止还不错。
但是现在我有一个大的文本,我只想要2-3行的内容。当我像以前一样 $Data4[1]
或者 $Data4[1..100]
,我意识到powershell将每个字符视为一行/行。
但是当我写的时候 $Data4
它给我看的内容格式很好的段落,新行等。
有人知道如何获得变量的特定行吗?
谢谢大家:)
1条答案
按热度按时间vh0rcniy1#
看来
$Data4
是格式化的字符串。因为它是单个字符串,所以任何索引元素查找都返回单个字符(类型)System.Char
). 如果希望索引返回更长的子字符串,则需要以某种方式将字符串拆分为多个字符串,或者提出更复杂的搜索机制。如果我们假设您要查找的行是由换行符和/或回车符分隔的实际行,则您可以只拆分这些换行符,并使用索引访问您的行: