如何在Windows中使用正则表达式匹配行尾?

Sum*_*Tea 10 regex linux grep newline

我在Windows中创建了一个.txt文件,现在应该在Linux中编辑.我想用grep匹配一行的结尾,让我说我要找的行的内容是文件中的"foo bar" bar.然后我发出命令grep 'r$' bar,没有产生输出.

在Windows中给出一个新行包含'\ r \n',不同于Linux/Unix单个'\n',我认为必须有一些微妙的相关内容.然后我转换文件dos2unix和瞧,它的工作原理.

我的问题是如何在不转换原始文件的情况下匹配内容?

任何建议将受到高度赞赏.

谢谢和最诚挚的问候.

dog*_*ane 8

如果你的grep支持-P(perl-regexp),那么匹配一个CRLF:

grep -P '\r$' file
Run Code Online (Sandbox Code Playgroud)

要么:

grep Ctrl+VCtrl+M文件

(Ctrl+VCtrl+M会产生^M)


Aar*_*lla 7

使用匹配两个行结束的模式: r\r?\n