Перенаправление ввода (<) добавляет символ новой строки?

Первоначально у меня сложилось впечатление, что

$ ./myprog moo[CTRL-D] 

точно такая же, как

 $ echo moo > cow $ ./myprog < cow 

Но я обнаружил, что myprog всегда считает еще один \n во второй версии, чем в первом. Почему это?

Оказывается, wc делает то же самое …

 $ wc -l moo[CTRL-D]0 

(Возможно, нулевые линии возможны?)

 $ echo moo > cow $ wc -l < cow 1 

Кто-нибудь может мне это объяснить?

One Solution collect form web for “Перенаправление ввода (<) добавляет символ новой строки?”

echo добавляет новую строку, если вы не скажете, что это не так, поместив -n сначала или \c в конце, или положив -e first и \c в конце или … вы действительно не хотите знать все разновидности эха. Используйте printf moo > cow и у вас будет файл с нулевыми строками.

  • Почему эти две команды «cat» приводятся по-разному?
  • Добавление содержимого в файл дает отказ в разрешении
  • Как перенаправить вывод из команды find (использующей grep) в файл журнала?
  • губка из moreutils - в чем разница с перенаправлением оболочки? полезные примеры?
  • Присоединить два несортированных файла к POSIX?
  • Ярлык перенаправления ввода-вывода не работает, когда в конце командной строки
  • Настроить способ добавления stderr в файл
  • Как повысить привилегии в середине конвейера?
  • Почему чтение работает, если stdin перенаправляется на fd4?
  • Как отключить перенаправление, как только я включил его?
  • Строка 4: данные $: неоднозначное перенаправление при использовании пароля
  • Перенаправить вывод в уже запущенную программу
  • Interesting Posts

    Как загрузить 32-битное ядро ​​Linux с 64-разрядным EFI Grub?

    Насколько сложна программа, написанная в чистом Bash?

    Что означает EL5 и EL6 в терминах пакетов?

    процесс init: предок всех процессов?

    Как я могу перезаписать файл назначения netcat, который, в отличие от добавления?

    Как удалить удаленный диск с помощью SSH на локальном компьютере и сохранить на локальный диск

    Переименовать файлы для изменения знаков пунктуации и нумерации

    Intel Edison Ubilinux как дистрибутив Я получаю FAILED Запуск расширенного управления IEEE 802.11: hostapdrmdir : Нет такого файла или каталога

    Как защитить / защитить журналы журналов log_input / log_output «sudo»?

    `sudo -u user script` даже не имеет доступа к / bin / sleep

    Настройка ssh для сеанса linux to solaris

    Установка с использованием синаптических игнорирующих зависимостей

    Как я могу заставить Apache работать (жалобы на лог-файлы) на Ubuntu после обновления дистрибутива?

    Где исходный код ttylinux?

    Установить xterm название не работает над ssh

    Linux и Unix - лучшая ОС в мире.