Почему grep выдает неожиданный вывод, если файл содержит символы возврата каретки? [дубликат]

0
15.03.2018, 17:39
1 ответ

Ничего неожиданного. Возврат каретки перемещает курсор в начало строки. grepуже распечатал имя файла и номер строки, и содержимое соответствующей строки перезаписывает это (из-за возврата каретки до и после первого fooв строке ).

Возврат каретки также может быть записан как\r:

printf '\rfoo\rfoo\nfoo\n' >file

Будет создан файл с двумя строками. Первая строка будет дважды содержать слово foo, но возврат каретки переместит курсор в начало строки. Если использовать catдля просмотра этого файла, это будет выглядеть так, как будто в первой строке есть только один foo.

1
28.01.2020, 02:43

Теги

Похожие вопросы