我有一个这样的表格(.txt文件):
Table: HHBB
Displayed Fields: 1 of 5 Fixed Columns: 4
-----------------------------------------------------------------------------
| |ID |NAME |Zähler |Obj |ID-RON |MANI |Felder |Nim
|----------------------------------------------------------------------------
| |007 |Kano |000001 |Lad |19283712 | |/HA |
| |007 |Bani |000002 |Bad |917391823 | |/LA |
我想将此表保存到另一个.txt文件中,但是只想跳过与Table
和Displayed Fields
匹配的行。我尝试过的:
If ([string]::IsNullOrWhitespace($tempInputRecord2) -or $_ -match "=|Table:|Displayed|----") {
continue
}
我该怎么做?
另一个问题: 将行逐行写入新文本文件的最佳方法是什么?
答案 0 :(得分:0)
因此,您只想删除以Table:
或Displayed Fields:
开头的行并将结果输出到新文件?使用Where-Object
过滤行,然后使用Out-File
将其写入文件:
Get-Content test.txt |
Where-Object { $_ -notlike "Table:*" -and $_ -notlike "Displayed Fields:*" } |
Out-File test2.txt
答案 1 :(得分:0)
完成简单任务的方法有很多:
Get-Content test.txt|Select-Object -Skip 2|Set-Content test2.txt
-notmatch
和RegEx交替的类似方法Get-Content test.txt|Where-Object {$_ -notmatch '^Table:|^Displayed Fields:'}|Set-Content test2.txt
(Get-Content test.txt)|Select-Object -Skip 2|Set-Content test.txt