Перенаправить вывод в файл из командной строки grep

В дополнение к комментарию sagarchalise:

Он находится в natty: http://packages.ubuntu.com/natty/autojump

Должен работать и в более старых версиях. [ ! d3]

1
задан 26 June 2014 в 12:48

3 ответа

Ваш файл пуст, потому что процесс прерван до того, как файл будет записан на диск. Так работает перенаправление. В качестве обходного пути попробуйте следующее:

script -c 'cat /dev/urandom|hexdump|grep -i "ffff f"' -f random

Это будет в основном записывать весь экранный файл в файл.

3
ответ дан 24 May 2018 в 06:17
  • 1
    Он включал еще одну команду, но доставлен. Спасибо. – Ruslan Gerasimov 26 June 2014 в 14:05

cat /dev/urandom|hexdump или hexdump /dev/urandom непрерывно записывается в stdout, и если вы нажмете Ctrl + C, после этого ничего не будет выполнено. Но вы можете ограничить вывод с помощью head

hexdump /dev/urandom | head -n1000000 | grep "ffff f" > random  

, это будет grep в первых 1000000 строк вывода и записывает результат в файл.

3
ответ дан 24 May 2018 в 06:17
  • 1
    Принял еще одну команду, но дал хороший результат. Спасибо. – Ruslan Gerasimov 26 June 2014 в 14:07

Вам нужно будет записать вывод файла cat /dev/urandom | hexdump в файл перед его выполнением в следующий раз. Скрипт ниже должен выполнить то, что вы пытаетесь:

cat /dev/urandom | hexdump |
  while IFS= read -r line; do
    printf '%s\n' "$line" >> random;
  done

IFS используется для разделения вывода на строки здесь.

(Источник)

1
ответ дан 24 May 2018 в 06:17

Другие вопросы по тегам:

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