Надо найти в файле первую пустую строку (получить смещение байта). Файл является частью HTML-формы и пустая строка, кроме \n содержит ещё и \r. В общем, надо найти строку типа '^\r$'.В bash-е команда
grep -bxm1 $'\r'
работает как ожидается.В dash-е пишу
grep -bxm1 '\r'
ошибок не выдаёт, но и результата нет. Хотя если искать какой-то "реальный символ", то выдаёт предсказуемое значение.Как подставить управляющий символ?
Спасибо
Например:
CR=`printf '\r'`
grep -bxm1 "$CR"
Спасибо, работает.Но как объяснить "неподставляемость" в Dash \r?
> Но как объяснить "неподставляемость" в Dash \r?Оно и не должно подставляться. Наоборот, $'\r' — это башевское расширение, без «$» и в баше будет «неподставляемость». Комбинации \<буква> в норме работают только с командами echo и printf. Ну у echo там свои тараканы, так что я использовал printf.
Рекомендую сравнить, как всё это описано в man bash и man dash.
Спасибо. Попробую почитать.Где б ещё перевод man dash посмотреть? А то язык Шекспира нашего нихтфирштейн :)