将字符串数组输出限制为前 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 ''
我正在使用 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 ''