Не используйте кошку для этого. Вместо этого используйте grep DATABASE *
или grep -n DATABASE *
(если вы хотите знать номера строк, а также имена файлов) напрямую.
Смотрите бесполезное использование кошки .
Чтобы прояснить это немного: на cat *
самом деле объединяет все файлы по мере их подачи в grep через канал, поэтому grep не может узнать, какой контент принадлежит какому файлу, и даже не может точно знать, сканирует ли он файлы или вы просто печатать очень быстро. Это все один большой стандартный поток ввода, когда вы используете канал.
Наконец, -H
это почти наверняка избыточно, поскольку grep печатает имя файла по умолчанию, когда для поиска требуется более одного файла. Это может быть полезно в случае, если вы хотите проанализировать вывод, так как есть некоторая вероятность, что *
glob расширится до одного файла, и grep в этом случае пропустит имя файла.