Установка символа конца строки grep

У меня есть довольно простой сценарий bash, который выполняет команду grep, чтобы найти весь текст в файле, который не соответствует шаблону.

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

Во входном файле каждая строка заканчивается символами конца строки Windows, то есть возвратом каретки и переводом строки CR LF.

Вывод этой команды (запущенной в Cygwin) заканчивает каждую строку дополнительным символом возврата каретки, т. е. CR CR LF.

Как мне сказать grep просто использовать CR LF?


person Duncan Johnson    schedule 03.06.2009    source источник


Ответы (1)


Я думаю, что вы можете настроить параметр EOL только во время установки Cygwin.

Если вы сначала пропустите исходный файл через dos2unix, то grep сможет правильно обработаться (после этого вы можете запустить unix2dos, чтобы вернуть EOL)

person Brian Agnew    schedule 03.06.2009
comment
Спасибо! У меня должны быть плохо настроены мои Cygwin EOL, потому что они отлично работают, даже если после этого я не выполняю unix2dos. Это все, что мне нужно, чтобы заставить его работать. 1: dos2unix original.txt 2: grep -v $1 original.txt ›trimmed.txt - person Duncan Johnson; 03.06.2009