Ответы пользователя по тегу Эмулятор терминала
  • Как найти строки по фильтру в большх файлах?

    gedev
    @gedev
    сисадмин-энтузиаст
    Поясню что было не так в вашей команде. Похоже, вы не совсем понимаете принцип конвейера (|).

    cat < dump.sql | wc -l | grep -i 'DROP TABLE IF EXISTS' | awk {'print $1'}

    Здесь cat < dump.sql делает то, что нужно — печатает весь дамп в STDOUT, но cat не нужно перенаправление вывода (<), поэтому лучше писать так: cat dump.sql.
    Затем строка с дампом передаётся в STDIN wc -l. На выходе в STDOUT поступает строка вида 12345. То есть это просто число строк в исходном дампе. Но вы далее в строке 12345 пытаетесь найти вхождения DROP TABLE IF EXISTS c помощью grep. Уже тут получаете пустую строку, а awk показывает результат работы над пустой строкой — новую пустую строку.
    Ответ написан
    Комментировать