Есть ли способ получить шаблоны в одном файле (список шаблонов) из другого файла, используя ack
как параметр -f
в grep
? Я вижу, что в ack
есть опция -f
, но она отличается от -f
в grep
.
Возможно, пример даст вам лучшее представление. Предположим, у меня есть файл1:
file1:
a
c
e
И файл2:
file2:
a 1
b 2
c 3
d 4
e 5
И я хочу получить все шаблоны в файле1 из файла2, чтобы дать:
a 1
c 3
e 5
ack
может это сделать? В противном случае, есть ли лучший способ справиться с заданием (например, awk
или с использованием хэша), потому что у меня есть миллионы записей в обоих файлах, и мне действительно нужен эффективный способ завершения? Спасибо!
grep
терпит неудачу? И действительно ли шаблоны в файле1 являются регулярными выражениями или это просто строки для сопоставления? - person ghoti   schedule 30.03.2012grep
на самом деле довольно эффективен... - person Amber   schedule 30.03.2012Ack
НЕ требуется. Просто я ищу более быстрый способ, чемgrep
, так как работа с миллионами записей с использованиемgrep
действительно утомительна. File1 может быть либо регулярным выражением, либо строкой. Я просто хочу, чтобы это было быстро. Вы случайно не знаете лучшие инструменты? Спасибо! - person Rock   schedule 30.03.2012fgrep
будет быстрее, чем обычноеgrep
, поскольку оно не будет вызывать механизм регулярных выражений. - person Amber   schedule 30.03.2012grep
? Я не говорил, что знаю секрет, как заставить его работать быстрее, я говорил, что обычно, еслиgrep
работает медленно, когда вы анализируете только один файл стога сена, вы, вероятно, не найдете более быстрого варианта. - person Amber   schedule 30.03.2012fgrep
идентиченgrep -F
на большинстве платформ. Я поэтому и спросил выше. Если вы можете ограничить свой файл1 строками, а не регулярными выражениями, grep может быть наиболее эффективным инструментом, который вы можете найти, не создавая его с нуля самостоятельно. - person ghoti   schedule 30.03.2012awk
, который будет загружать файл1 в индекс массива, а затем сопоставлять его с поиском в массиве. Не знаю, будет ли это быстрее, чем grep, но это то, что вы можете сравнить для сравнения с grep, используя подмножество ваших данных. - person ghoti   schedule 30.03.2012Ack
работает быстрее, чемgrep
. Посетите betterthangrep.com. - person Rock   schedule 30.03.2012