Board logo

标题: [问题求助] PowerShell如何排除带-和:的行 [打印本页]

作者: 5i365    时间: 2022-1-17 16:27     标题: PowerShell如何排除带-和:的行

下面的代码, 排除空行没问题, 但是排除带-和:的行不生效
  1. (gc "C:\Users\Administrator\Desktop\a.txt") |
  2. ? { $_.trim() -ne "" } |
  3. ? { $_.trim() -notcontains ":" } |
  4. ? { $_.trim() -notcontains "-" } |
  5. sc "C:\Users\Administrator\Desktop\aa.txt" -Encoding UTF8
复制代码
a.txt内容:

目标是删除下面四行:
[00:00.10]胡歌 - 逍遥叹

[00:00.70]作词:陈宇任

[00:00.89]作曲:陈宇任

[00:01.00]编曲:屠颖
-----------------------------------------
[ar:胡歌]

[ti:逍遥叹]

[00:00.10]胡歌 - 逍遥叹

[00:00.70]作词:陈宇任

[00:00.89]作曲:陈宇任

[00:01.00]编曲:屠颖

[00:26.68]岁月难得沉默

[00:29.92]秋风厌倦漂泊

[00:33.24]夕阳赖着不走

[00:35.64]挂在墙头舍不得我

[00:39.91]昔日伊人耳边话
作者: idwma    时间: 2022-1-17 18:29

试试-notmatch
作者: 5i365    时间: 2022-2-7 11:12

本帖最后由 5i365 于 2022-2-7 11:21 编辑

回复 2# idwma


    大侠, 您好, 遇到了个问题, 原txt文件如下, 第1行只有个-, 第5行只有一个# 它们的左或右可能有空格,  如果用  -notmatch "[-#]"  所有的行都没匹配上, 但我只想不匹配只有一个-和#的行, 其它包含-或#的行要保留


-
-故事的-小黄花
从出生那年就飘--着
童年的荡秋千--
#
从出生那年就飘#着
童年的荡秋千##
作者: idwma    时间: 2022-2-7 14:48

回复 3# 5i365
  1. -notmatch "^\s*-\s*$|^\s*#\s*$"
复制代码

作者: 5i365    时间: 2022-2-7 15:49

回复 4# idwma


    多谢!
万能的正则




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2