2009-06-03 33 views
2

我有一个相当简单的bash脚本,它执行一些grep来查找文件中与模式不匹配的所有文本。设置grep行尾字符

grep -v $1 original.txt >trimmed.txt 

输入文件以每行结束Windows行尾字符,即使用回车符和换行符CR LF。

该命令的输出(在Cygwin中运行)以每一行结尾附加一个回车符,即CR CR LF。

我该如何告诉grep只使用CR LF?

回答

3

我想你只能在Cygwin安装期间配置EOL设置。

如果通过dos2unix运行你的原始文件,然后再grep应该能够正确地处理(您可能希望通过unix2dos之后运行到恢复的EOLS)

+0

谢谢!我必须配置我的Cygwin EOLs,因为即使我之后不做unix2dos,它也能正常工作。这就是我需要的所有工作。 1:dos2unix original.txt 2:grep -v $ 1 original.txt> trimmed.txt – 2009-06-03 14:45:05