powershell 中多个 -notmatch 字符串

powershell 中多个 -notmatch 字符串

我正在努力-notmatch使用 powershell 组合表达式,就像我在 Linux 下所做的那样grep -v "/aaa/" | grep -v "/bbb/"。换句话说,我的输入in.txt如下所示:

/aaa
/aaa/x.txt
/bbb
/bbb/y.txt
/ccc
/ccc/z.txt

我希望最终得到一个文件out.txt

/aaa
/bbb
/ccc
/ccc/z.txt

到目前为止我所拥有的是cat in.txt | ?{$_ -notmatch '/aaa/'} > out.txt;,但我该如何概括这一点呢?

附言:是的,我在网上搜索了示例或手册页,但我想我被困在了自己的泡沫中。

参考

答案1

管道第二-notmatch

cat in.txt | ?{$_ -notmatch '/aaa/'} | ?{$_ -notmatch '/bbb/'} > out.txt;

或者简写为:

cat in.txt | ?{$_ -notmatch '/aaa/|/bbb/'}  > out.txt;

它应该会产生您预期的结果。

相关内容