Windows命令行/ shell - 将文件附加到另一个文件时,如何忽略与正则表达式匹配的行?

我不熟悉Windows外壳。所以,让我们说,我的文件是这样的:Windows命令行/ shell - 将文件附加到另一个文件时,如何忽略与正则表达式匹配的行?

DontAppend this line shouldn't be appended 

DontAppend this line shouldn't be either

Some lines

more lines

而且我追加这样的:

type file.txt >> AppendHere.txt 

这追加整个文件。我如何制作它,以便跳过以“DontAppend”开头的行?

回答:

一个真正的过滤工具命令FINDSTR会让你寻找不包含字符串或正则表达式,所以你可以用线:

findstr /vrc:"^[^A-Za-z0-9]*DontAppend" file.txt >> AppendHere.txt 

/r选项说它应该使用正则表达式,并且脱字符(^)表示它应该以字符串开头。

编辑:添加一个非字母数字字符的过滤器可能解决Unicode问题(Unicode文件有时在开始时有一个不可打印的指示符字符)。

回答:

要么得到grep窗户或者你可以使用Windows自带的find命令

type so.txt|find /v "DontAppend" >> output.txt 

/v选项意味着不符合你的字符串输出线。

find作品喜欢这一点,但任何一个非常简单的事情越多,你会需要像grep

以上是 Windows命令行/ shell - 将文件附加到另一个文件时,如何忽略与正则表达式匹配的行? 的全部内容, 来源链接: utcz.com/qa/258963.html

回到顶部