3

Когда я запускаю следующую команду:

wget http://mywebsite.com/app/count.php -O count.txt

Я заметил следующее:

Saving to: ‘count.txt\r’

wget помещает переносы в мои имена файлов! Есть ли способ, которым я могу предотвратить это?

Спасибо за ваше время.

1 ответ1

0

Проблема была решена в комментариях. Этот ответ является выдержкой для будущих пользователей с похожей проблемой.

Вероятная причина:

Если эта команда wget находится в файле сценария и файл имеет окончания строки в стиле DOS, то к имени файла добавляется возврат каретки.

Это потому, что Linux (Unix-подобная система в целом) ожидает \n (другое обозначение: LF) в качестве окончания строки. DOS и Windows используют \r\n (CR+LF). Это дополнительное \r интерпретируется Linux как любой нормальный символ - как часть строки, в данном случае как часть имени файла.

Больше информации в Википедии.

Решение ОП:

wget -O "count.txt"

Это может решить эту конкретную проблему, но дополнительный \r , вероятно, все еще находится в конце, но не как часть имени файла. Общее, рекомендуемое решение:

Вместо этого вы должны исправить формат файла: используйте dos2unix для этого файла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .