一尘不染

在Linux上,如何使用grep搜索包含dos行尾(CRLF)的文件?

linux

我想在Linux上搜索包含grep的dos行结尾的文件。像这样:

grep -IUr --color '\r\n' .

上面的似乎与原义相符,rn这不是所希望的。

这样的输出将通过xargs传递到todos,以将crlf转换为lf,如下所示

grep -IUrl --color '^M' . | xargs -ifile fromdos 'file'

阅读 510

收藏
2020-06-02

共1个答案

一尘不染

使用Ctrl+ VCtrl+ M在grep字符串中输入文字的回车符。所以:

grep -IUr --color "^M"

将有效-如果^M您按照我的建议输入了文字CR。

如果需要文件列表,则也要添加该-l选项。

说明

  • -I 忽略二进制文件
  • -U防止grep剥离CR字符。默认情况下,如果它决定是一个文本文件,它将执行此操作。
  • -r 递归读取每个目录下的所有文件。
2020-06-02