grep для поиска слова в файле и получения результата по этому слову с именем ZIP-файла, содержащему это слово [дубликат]

Вот что я делаю: я хочу найти, какие zip-файлы включают это число с самим номером, например, я хочу, чтобы результат был таким:

7505857289 AIRCDR

, где число - мой результат поиска, а AIRCDR - имя zip-файла, содержащего это число среди 100000 файлов

0
задан 26 June 2018 в 10:00

1 ответ

Согласно вашему комментарию «стог сена» вашего поиска представляет собой набор г сжатых текстовых файлов (на основе расширения имени файла .gz). Вы можете сканировать их с помощью команды zgrep , оболочки вокруг команды grep, которая распаковывает сжатые файлы на лету и поддерживает большинство из тех же опций, что и сам grep.

Таким образом, вы можете просто запустить

zgrep -oHe 7505857289 <FILES>...

, который напечатает имя исходного файла с двоеточием и соответствующую последовательность символов для каждого совпадения.

Если вам нужен определенный формат вывода, я рекомендую вам преобразовать его. За соответствующим текстом следует пробел и имя исходного файла:

zgrep ... | sed -re 's/^([^:]*):(.*)$/\2 \1/'
1
ответ дан 26 June 2018 в 10:00

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

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