Tôi có thể bỏ qua nhiều dòng với tùy chọn -skip không?Đối tượng chọn Powershell bỏ qua nhiều dòng?
gc d:\testfile.txt | select -skip 3
hoạt động nhưng phải làm gì nếu tôi muốn xóa dòng 3-7?
Tôi có thể bỏ qua nhiều dòng với tùy chọn -skip không?Đối tượng chọn Powershell bỏ qua nhiều dòng?
gc d:\testfile.txt | select -skip 3
hoạt động nhưng phải làm gì nếu tôi muốn xóa dòng 3-7?
Bạn cũng có thể sử dụng thuộc tính readcount để loại trừ dòng:
get-content d:\testfile.txt | where {$_.readcount -lt 3 -or $_.readcount -gt 7}
Nếu tôi cần phải chỉ chọn một số dòng, tôi sẽ trực tiếp chỉ số vào mảng:
$x = gc c:\test.txt
$x[(0..2) + (8..($x.Length-1))]
Nó cũng có thể tạo một hàm 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
Các PowerShell Community Extensions đi kèm với một Skip -Mỗi lệnh ghép ngắn:
PS> 0..10 | Skip-Object -Index (3..7)
0
1
2
8
9
10
Lưu ý rằng chỉ mục Parame ter là 0 dựa trên.
Tương tự như vậy, mà không cần phần mở rộng (lưu ý rằng -skip
cần số lượng các mục để bỏ qua, và không phải là một index)
$content = get-content d:\testfile.txt
($content | select -first 3), ($content | select -skip 8)