标题: [问题求助] PowerShell将多行文本中的前N行和后N行中的符合条件的行过滤掉 [打印本页]
作者: 5i365 时间: 2022-3-29 19:36 标题: PowerShell将多行文本中的前N行和后N行中的符合条件的行过滤掉
下面的代码, 可以把所有包含:和-的行过滤掉, 而我需要过只滤掉前五行和后五行中包含:和-的行, 请教路过大侠, 有什么高招, 提前感谢!
- @"
- 胡歌 - 逍遥叹
- 作词:陈宇任
- 作曲陈宇任
- 编曲:屠颖
- 岁月难得沉默
- 秋风厌倦漂泊
- 夕阳赖着不走
- 挂在墙头舍不得我
- 昔日伊人耳边话
- 已和潮声向东流
- 再回首
- 往事也随枫叶一片片落
- 爱已走到尽头
- 恨也放弃承诺
- 命运自认-幽默
- 想法太多由不得我
- :壮志凌云几分酬
- 知己难逢几人留
- 再回首却闻:笑传醉梦中:
- 笑叹词穷-古痴今狂终成空
- 刀钝刃乏恩断义绝梦方破
- 路荒已叹饱览足迹:没人懂
- 多年望眼欲穿过
- 红尘滚滚我没看透
- 自嘲墨尽千情万怨英杰愁
- 曲终人散发:-花鬓白红颜殁烛残未觉与日争辉徒消瘦:
- 当泪干血隐狂涌
- :白雪纷飞都成红
- "@ -split '(?<!\r)\n' |
- ?{
- $_ -notmatch ":|-"
- }
复制代码
作者: idwma 时间: 2022-3-29 21:12
- $a=@"
- 胡歌 - 逍遥叹
- 作词:陈宇任
- 作曲陈宇任
- 编曲:屠颖
- 岁月难得沉默
- 秋风厌倦漂泊
- 夕阳赖着不走
- 挂在墙头舍不得我
- 昔日伊人耳边话
- 已和潮声向东流
- 再回首
- 往事也随枫叶一片片落
- 爱已走到尽头
- 恨也放弃承诺
- 命运自认-幽默
- 想法太多由不得我
- :壮志凌云几分酬
- 知己难逢几人留
- 再回首却闻:笑传醉梦中:
- 笑叹词穷-古痴今狂终成空
- 刀钝刃乏恩断义绝梦方破
- 路荒已叹饱览足迹:没人懂
- 多年望眼欲穿过
- 红尘滚滚我没看透
- 自嘲墨尽千情万怨英杰愁
- 曲终人散发:-花鬓白红颜殁烛残未觉与日争辉徒消瘦:
- 当泪干血隐狂涌
- :白雪纷飞都成红
- "@ -split '(?<!\r)\n'
- $a|
- ?{
- if(++$i -lt 4 -or $i -gt $a.count-4){$_ -notmatch ":|-"}else{1}
- }
复制代码
作者: w6xb 时间: 2022-3-30 01:00
-replace "[^\r\n]*?[:-][^\r\n]*\r\n", ""
作者: 5i365 时间: 2022-3-30 06:34
本帖最后由 5i365 于 2022-3-30 08:30 编辑
回复 2# idwma
感谢大侠帮忙, 前5行中 ,下面这行没有过滤掉
编曲:屠颖
作者: 5i365 时间: 2022-3-30 06:37
回复 3# w6xb
感谢大侠帮助, 请问把这行放在哪里? 我尝试放在-split后, 或直接使用 这行 ,都没有输出
作者: 5i365 时间: 2022-3-30 18:48
回复 2# idwma
把第一个4改成5就行了, 但是 为什么是5, 后面那个为什么4, 还有下面两句, 都是第一次看到, 看不懂, 要是能找个解释的文章就好了
++$i
else { 1 }
作者: idwma 时间: 2022-3-30 22:46
回复 6# 5i365
后面那个也可以是5或别的数,随便改
++$i 先加1再判断
$i++ 判断完再加1- else { $true }
- [int]$true
- [int]$false
复制代码
其实文档里有解释的
作者: 5i365 时间: 2022-3-30 23:07
回复 7# idwma
多谢大侠指教, 感觉以后肯定会用到, 先mark
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |