Bash vs Dash - подстановка управляющих символов, AlAdin, 14-Авг-16, 07:20 [смотреть все]Надо найти в файле первую пустую строку (получить смещение байта). Файл является частью HTML-формы и пустая строка, кроме \n содержит ещё и \r. В общем, надо найти строку типа '^\r$'.В bash-е команда grep -bxm1 $'\r' работает как ожидается. В dash-е пишу grep -bxm1 '\r' ошибок не выдаёт, но и результата нет. Хотя если искать какой-то "реальный символ", то выдаёт предсказуемое значение. Как подставить управляющий символ? Спасибо
|
- Bash vs Dash - подстановка управляющих символов, XAnder, 15:24 , 14-Авг-16 (1)
Например: CR=`printf '\r'` grep -bxm1 "$CR"
- Bash vs Dash - подстановка управляющих символов, AlAdin, 04:14 , 15-Авг-16 (2)
Спасибо, работает.Но как объяснить "неподставляемость" в Dash \r?
- Bash vs Dash - подстановка управляющих символов, XAnder, 08:38 , 15-Авг-16 (3)
> Но как объяснить "неподставляемость" в Dash \r?Оно и не должно подставляться. Наоборот, $'\r' — это башевское расширение, без «$» и в баше будет «неподставляемость». Комбинации \<буква> в норме работают только с командами echo и printf. Ну у echo там свои тараканы, так что я использовал printf. Рекомендую сравнить, как всё это описано в man bash и man dash.
|