将字符串数组输出限制为前 500 个字符

Limit string array output to first 500 characters

我正在使用 Subversion 并经常使用 svn help status。它吐出很多文字。如何让 PowerShell 只显示整个输出(而不是每一行)的前 500 个字符?

以下限制为前 500 行而不是字符。

 $ svn help status | select -first 500

那是因为 (svn help status).GetType() 是一个字符串数组。我需要写一些时髦的东西来计算每行中的字符数,还是这是一种内置的方法?

怎么样:

Filter prune ([int]$count) {$_[0..($count-1)] -join '' }

svn help status | prune 5

这将比 substring() 方法慢,但如果它命中一个短字符串,它不会抛出错误。

首先使用 -join 将字符串数组转换为一个字符串(`n 是用于保留行的换行符),然后使用 [0..499] 选择前 500 个字符,最后再次连接这些字符(否则每个字符在单独的行上输出):

((svn help status) -join "`n")[0..499] -join ''