Почему выход не перенаправляется в файл?

имеют следующую командную строку, которая выводит vmstat каждую секунду с меткой времени в каждой строке через Perl-скрипт:

vmstat 15 | /home/Beer/addtimestamp.pl > File_1 

содержимое addtimestamp.pl:

 !/usr/bin/perl while (<>) { print localtime() . ": $_"; } 

Так почему же выход не перенаправляется в файл «File_1»?

Он отлично работает, когда я этого не делаю, он выводит выходные данные каждую секунду без каких-либо проблем.

One Solution collect form web for “Почему выход не перенаправляется в файл?”

Вы попали в буферизацию Гоча. Perl буферизует свой вывод и записывает только на диск, когда буфер заполнен. Буферизация – это хорошая работа с точки зрения производительности, но при низких скоростях передачи данных может сбивать с толку. Если вы подождете достаточно долго, вы заметите, что ваш файл написан (проверьте с помощью tail -F File_1 ). Я считаю, что стандартный буфер имеет размер 4 КБ.

Добавьте $|=1 как показано ниже, чтобы отключить буферизацию в Perl:

 vmstat 1 | perl -e '$| = 1; while (<>) { print localtime() . ": $_"; }' > /tmp/fileetje 
  • Как отправить надстройку stdout в multilog и второй процесс
  • Вывод команды перенаправления на / dev / null
  • Восстановление вывода на терминал после выдачи «exec &> filename»
  • Почему перенаправление STDERR на / dev / null выполняется таким образом?
  • является ли Linux перенаправлением «>>» медленнее с большими файлами?
  • Почему некоторые linux-инструменты записывают в STDERR вместо STDOUT по умолчанию?
  • io перенаправление на «крест» 2 программы
  • перенаправить в тот же файл, что и исходный файл, обработанный командой
  • Захват вывода без перенаправления и оставьте его на терминале тоже
  • Когда следует использовать перенаправление ввода?
  • Предостережения с перенаправлением Stdout / Stderr в файлы?
  • Как определить, является ли вывод команды или сценария оболочки стандартным или stderr
  • Interesting Posts

    Можно ли добавлять / удалять arp-ip-цели без использования интерфейса связи вверх / вниз

    Какова цель -m, –match в правиле Iptables?

    Обработка 3 файлов с помощью awk

    Проблема Fedora VNC – получение серого экрана с тремя флажками

    Настроить Postfix и Dovecot-LMTP для получения почты через SMTPUTF8?

    Есть ли истина в философии, которую вы должны синхронизировать; синхронизации; синхронизации; синхронизировать?

    статический IP-адрес для удаленного администрирования удаленного домашнего компьютера через ssh?

    Есть ли способ посмотреть тип файла на Mac?

    Найти файлы, которые не были установлены диспетчером пакетов

    Уплотнение шаблонов `find`

    Назначение нескольких адресов IPv6 для одного интерфейса для веб-сервера https?

    Подключение к устройству Bluetooth через терминал

    Измените размер существующего раздела LVM и добавьте пространство в другой раздел LVM

    dd write vs read performance

    правильный синтаксис для использования файловых дескрипторов с помощью imagemagick

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