Как я могу сопоставить строку unix, заканчивающуюся grep? У меня уже есть рабочий скрипт, который использует unix2dos
и cmp
, но он немного медленный, и одна команда grep будет намного лучше сочетаться с остальной частью моего кода bash.Сопоставьте строку unix, заканчивающуюся grep
Я попытался использовать отрицательный lookbehind на '\r'
.
$ printf "foo\r\n" | grep -PUa '(?<!'$'\r'')$'
foo
Почему это не работает? Для записи, регулярное выражение шаблон кажется оценить только хорошо так:
$ printf '(?<!'$'\r'')$' | od -a
0000000 ( ? < ! cr ) $
0000007
Update:
$ grep --version
grep (GNU grep) 2.24
на MINGW64 на окнах 7.
Если вам нужно, чтобы соответствовать новой строки не предшествуют с '\ r', просто используйте' '\ n'' –
'Printf "Foo \ п" | grep -PUa '(?
* Почему это не работает? * Работает для меня с 'grep (GNU grep) 2.25' – Leon