Поиск файлов, содержащих определенную строку в текстовом файле в Unix - PullRequest
0 голосов
/ 21 мая 2019

Я новичок в написании сценария оболочки и хотел бы найти определенную строку в файлах с расширением "* RETURN.DAT" в каталоге.строки, которые я хочу найти, находятся в отдельном файле.Какие команды Unix я должен использовать?я перепутал, используя find и grep.Мне также нужно скопировать файлы, которые я нашел в другом каталоге.заранее спасибо.

1 Ответ

0 голосов
/ 21 мая 2019

Если файлы в a каталоге , вам не нужно find (man find: искать файлы в иерархии каталогов ), но вместо этого вы можете указать grep для поиска в этом каталоге:

$ grep search_term path/to/a/dir/*.DAT

Поскольку строки, которые вы хотите найти, находятся в отдельном файле , man grep:

-f FILE, --file=FILE
       Obtain patterns from FILE, one per line.  If this option is used
       multiple times or is combined with  the  -e  (--regexp)  option,
       search  for  all  patterns  given.  The empty file contains zero
       patterns, and therefore matches nothing.

Итак:

$ grep -f separate_file path/to/a/dir/*.DAT` 

должен сделать работу.

...