【问题标题】:Powershell select-object skip multiple lines?Powershell选择对象跳过多行?
【发布时间】:2010-04-06 13:33:26
【问题描述】:

我可以使用 -skip 选项跳过多行吗?

gc d:\testfile.txt | select -skip 3

可以,但是如果我想删除第 3-7 行怎么办??

【问题讨论】:

    标签: powershell


    【解决方案1】:

    同样,没有扩展名(注意-skip 需要跳过的项目数,而不是索引)

    $content = get-content d:\testfile.txt
    ($content | select -first 3), ($content | select -skip 8)
    

    【讨论】:

      【解决方案2】:

      您还可以使用 readcount 属性排除行:

      get-content d:\testfile.txt | where {$_.readcount -lt 3 -or $_.readcount -gt 7}
      

      【讨论】:

        【解决方案3】:

        我不知道为什么,但它可以工作。

        1..9 | Select-Object -Skip 2 -First 1
        

        -First = Take()

        【讨论】:

          【解决方案4】:

          如果我只需要选择一些行,我会直接索引到数组中:

          $x = gc c:\test.txt
          $x[(0..2) + (8..($x.Length-1))]
          

          也可以创建函数Skip-Objects

          function Skip-Object {
              param(
                  [Parameter(Mandatory=$true,ValueFromPipeline=$true)][PsObject]$InputObject,
                  [Parameter(Mandatory=$true)][int]$From,
                  [Parameter(Mandatory=$true)][int]$To
              )
          
              begin {
                  $i = -1
              }
              process {
                  $i++
                  if ($i -lt $from -or $i -gt $to)  {
                      $InputObject
                  }
              }
          }
          
          1..6 | skip-object -from 1 -to 2   #returns 1,4,5,6
          'a','b','c','d','e' | skip-object -from 1 -to 2 #returns a, d, e
          

          【讨论】:

            【解决方案5】:

            PowerShell Community Extensions 带有一个 Skip-Object cmdlet:

            PS> 0..10 | Skip-Object -Index (3..7)
            0
            1
            2
            8
            9
            10
            

            请注意,Index 参数是从 0 开始的。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多