Может быть, ваш файл имеет CRFL
(возврат каретки - подачи линии или \r
- \n
) строка, заканчивающаяся, где не подходит (например, файл для Windows в системе Linux или ... или ...). Если вы пишете больше чем-a-terminal-widths значение a
s в файл (1. Я нахожусь в Linux и 2. не нажимаю введите в конце терминала, всего один раз после всех многих a s и после этого один ввести пресс Ctrl - D):
$ cat > pure_file
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa[the only enter and ctrl-D goes here]
Ваш файл-концовка выглядит следующим образом:
...aaaaLF
Затем добавить CR
к концу:
$ awk '{print $0 "\r"}' pure_file > cr_infected_file
(или просто использовать unix2dos
выше) и файл концовка выглядит следующим образом:
...aaaaCRLF
Теперь добавьте символ X
к концу этого:
$ awk '{print $0 "X"}' cr_infected_file
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Xaaaaaaaaaaaaaaaaaaaa
и хвост выглядит (добавлено 2 пространства вокруг X
для вашего удовольствия чтения):
...aaaaCR X LF
Что происходит, что сначала все a
s получить outputed, то CR
возвращает каретку к началу строки (текущей строки, линия 2 на терминале), а затем X
получить outputed.
Не можете ли вы добавить пример на ваш вопрос? То, что вы описываете, звучит довольно странно. – choroba
Можете ли вы показать конкретный пример? Я скептически настроен. – chepner
Perhap OP - это копирование и вставка ввода в терминал или редактор, который автоматически вставляет разрывы строк. Или некоторые такие. – rici